• Почему возникает ошибка org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation в выгрузке в эксель?

    @MaxLich Автор вопроса
    java developer
    Проблему решил. Необходимо было добавить свой HttpMessageConverter в конфиг Spring:
    ...
     @Bean
        public WebMvcConfigurer webMvcConfigurer() {
            return new WebMvcConfigurer() {
    
                @Override
                public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
                    converters.add(stringConverter());
                    converters.add(mappingJackson2HttpMessageConverter());
                    converters.add(excelConverter());
                }
    
    ...
    }
    
    ...
    
        @Bean
        public ResourceHttpMessageConverter excelConverter() {
            final ResourceHttpMessageConverter converter = new ResourceHttpMessageConverter();
            converter.setSupportedMediaTypes(
                    List.of(new MediaType("application", "vnd.ms-excel"))
            );
            return converter;
        }


    Также немного переделал код метода в контроллере (возвращение значения):
    ....
          return ResponseEntity
                    .ok()
                    .headers(headers)
                    .contentLength(fileCont.length)
                    .contentType(new MediaType("application", "vnd.ms-excel"))
                    .body(new InputStreamResource(in));
          }
    }
    Ответ написан
    Комментировать
  • Как указать имя EntityManagerFactory в @PersistenceContext?

    @MaxLich Автор вопроса
    java developer
    Вроде сработало так:
    @PersistenceContext(unitName = Constants.ADM_ENTITY_MANAGER_FACTORY_NAME)
        private EntityManager em;


    @Bean(name = Constants.ADM_ENTITY_MANAGER_FACTORY_NAME, destroyMethod = "")
        public LocalContainerEntityManagerFactoryBean admEntityManagerFactory() throws NamingException {
            LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
            em.setDataSource(dataSourceAdm());
            em.setPackagesToScan(admPackagesToScan);
    
              em.setPersistenceUnitName(Constants.ADM_ENTITY_MANAGER_FACTORY_NAME);
    
            HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
            em.setJpaVendorAdapter(vendorAdapter);
            em.setJpaProperties(hibernatePropertiesAdm());
    
            return em;
        }
    Ответ написан
    Комментировать
  • Как без боли и страданий задеплоить на томкат 9 веб-сервис на java 11, работающий по soap?

    @MaxLich Автор вопроса
    java developer
    Путём долгого поиска в интернете выяснил, что это не ошибки, и они ни на что не влияют. Отключается добавлением<JarScanner scanManifest="false"/> в context.xml (внутрь <Context>... </Context>)
    Ответ написан
    Комментировать
  • Почему при тесте реста выдаёт 404?

    @MaxLich Автор вопроса
    java developer
    Помог пример из статьи
    Ответ написан
    Комментировать
  • Как сделать, чтобы JAXB нормально сериализовал динамически подставляемый вложенный объект?

    @MaxLich Автор вопроса
    java developer
    Всё работает. Оказалось, что надо было при создании контекста прописать пакет, в котором лежит ServiceProperties:
    jaxbContext = JAXBContext.newInstance(PACKAGE_WITH_JAXB_OBJECTS + ":" + PACKAGE_WITH_JAXB_OBJECTS_2);

    Также, чтобы не было проблем с пространствами имён, перенёс в этот пакет файл package-info.java с основного пакета. Файл имеет такое содержимое:
    @javax.xml.bind.annotation.XmlSchema(namespace = "http://firma.ru/schema/v6_1/", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
    package ru.my-firm.app.my-project.jaxbobjects;
    Ответ написан
    Комментировать
  • Почему у меня появляются ошибки, если в bpm-схеме после таймера идёт service task или script task (Alfresco's Activiti 6)?

    @MaxLich Автор вопроса
    java developer
    Нашёл причину ошибки. Параллельно был запущен Activiti Modeler, который использовал ту же базу. Я остановил это приложение, и всё начало срабатывать без ошибок.
    Ответ написан
    Комментировать
  • Трудоустройство без стажа вообще. Смотрят ли трудовую книжку?

    @MaxLich
    java developer
    Трудовую обычно отдаёшь при трудоустройстве. До этого момента обычно её не спрашивают. В одной фирме у меня просили трудовую до этого момента, но там она нужна была для службы безопасности, но всё равно ничего серьёзного не было.
    Некоторые вообще работают в чёрную или фрилансят, и ничего. Главное, чтобы опыт коммерческой разработки был. А какой он - это другой вопрос.

    ЗЫ Так что Вам скорее об этом надо заморачиваться, а не о том, что у Вас написано в трудовой книжке.
    Ответ написан
  • Как наконец попасть на собеседование Java junior разработчика?

    @MaxLich
    java developer
    Я имею небольшой опыт в джава-интерпрайзе, но всё же что-то могу тоже сказать.
    Мои рекомендации:
    1) Изменить фотографию (лучше пусть будет более крупным планом, до пояса, например; и посмотреть, как это будет выглядеть на чёрно-белом принтере).
    2) Добавить ссылку на гитхаб (хотя не уверен, что много кто смотрит, но если есть и если там есть стоящие проекты на современном стеке, то будет плюсом)
    3) Структурировать резюме, убрать "воду", добавить больше чёткости и конкретики. (И не вижу смысла писать в опыте проекты, которые ты делал для себя; или, если хочешь их туда добавить, то напиши, что это фриланс).
    4) Исправить грамматические и орфографические ошибки в резюме, а так же всякие опечатки.
    5) Поступить на курсы и вписать их в резюме.
    6) Пройти стажировку в любой фирме, и вписать себе это в резюме.
    7) На крайняк изучить php или автоматическое тестирование приложений и устроиться по какому-то из этих направлений.

    ЗЫ Пока по ощущениям резюме кажется пустым, неинтересным.
    Ответ написан
    4 комментария
  • Не запускается pgAdmin 4 из PostgreSQL 10. Как решить проблему?

    @MaxLich Автор вопроса
    java developer
    Помучался, помучался, в итоге установил postgresql 11 c новым pqadmin, который работает из браузера. И там всё нормально.
    Ответ написан
    Комментировать
  • Какой класс ioc-контейнера Spring писать в web.xml, если я не использую Spring WebMVC?

    @MaxLich Автор вопроса
    java developer
    Сам нашёл решение. Нужен тот же класс, что и для случая использования Spring WebMVC:
    org.springframework.web.context.support.AnnotationConfigWebApplicationContext
    Ответ написан
    Комментировать
  • Как и когда создаются соединения объектом класса CachingConnectionFactory?

    @MaxLich Автор вопроса
    java developer
    Проблема стала не сильно актуальной, так как удалось использовать бины спринга из активити.
    Ответ написан
    Комментировать
  • Какой фронт подойдет для spring?

    @MaxLich
    java developer
    Хм, у нас на проекте на беке спринг мвц в виде рестов, на фронте - vue.js. Вроде норм. Предполагаю, если делать рест-сервис, то тогда отвязываешь вообще от каких-либо фронтов, и фронт может быть любым (либо вообще потребитель сервиса, а тогда это может быть и другое джава-приложение, и приложение на андроиде, и вообще что угодно).
    Ответ написан
    Комментировать
  • Где найти практический курс ASP.NET MVC 5 на примере реальной (или подобной) коммерческой разработки?

    @MaxLich
    java developer
    Надо задавать вопрос не где, а зачем. =/
    Ответ написан
    Комментировать
  • Есть ли в Питере бесплатные курсы программирования?

    @MaxLich
    java developer
    Ну почему-то бы нет. Если это компания для себя людей набирает. Обучает немного, а потом смотрит, кто лучший - того и берёт.
    Либо может быть, что это только общий краткий курс, а расширенный - уже за деньги.
    Ответ написан
  • Где взять простейшие примеры программ (игр)?

    @MaxLich
    java developer
    Написать.
    Ответ написан
    Комментировать
  • Почему у меня кириллица из HTML-формы приходит в программу в виде кракозябров?

    @MaxLich Автор вопроса
    java developer
    Помог комментарий Moskus . Нужно было добавить код в WebAppInitializer. В итоге этот класс выглядит так:
    public class WebAppInitializer implements WebApplicationInitializer {
        @Override
        public void onStartup(ServletContext servletContext) throws ServletException {
            AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
            context.register(SpringConfig.class, WebConfig.class);
            context.setServletContext(servletContext);
    
            ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher", new DispatcherServlet(context));
            dispatcher.setLoadOnStartup(1);
            dispatcher.addMapping("/");
    
            CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
            characterEncodingFilter.setEncoding("UTF-8");
            characterEncodingFilter.setForceEncoding(true);
    
            FilterRegistration.Dynamic filterRegistration = servletContext
                    .addFilter("characterEncodingFilter", characterEncodingFilter);
            filterRegistration.addMappingForUrlPatterns(null, false, "/*");
        }
    }


    Добавил следующий кусок:
    CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
            characterEncodingFilter.setEncoding("UTF-8");
            characterEncodingFilter.setForceEncoding(true);
    
            FilterRegistration.Dynamic filterRegistration = servletContext
                    .addFilter("characterEncodingFilter", characterEncodingFilter);
            filterRegistration.addMappingForUrlPatterns(null, false, "/*");
    Ответ написан
    Комментировать
  • Какой путь изучения программирования выбрать?

    @MaxLich
    java developer
    Зависит от бэкграунда и количества времени, которым ты располагаешь для изучения программирования. Но если считать, что он нулевой, то я бы советовал примерно в таком порядке изучать:
    1. Математика (высшая, вузовская; частично; если )
    2. Основы CS (в том числе устройство компьютера, его работа)
    3. Языки программирования (паскаль, си, дальше язык, который нужен будет для будущей работы: js, java, python, etc.)
    4. SQL и базы данных (если ещё не изучил до этого)
    5. Необходимые для работы фреймворки и окружение (всякие спринги, джанги, ангуляры, а из окружения: гит, джира, IDE, система сборки проектов и т.д.)
    Дальше нужно смотреть вакансии, ходить на собеседования и подтягивать то, чего не хватает.
    Вкратце - так.
    А как изучать - моё ИМХО - лучше книги, но также могут быть эффективны интерактивные курсы (онлайн, оффлайн), разные видеокурсы и т.д. Тут каждый для себя выбирает то, что ему больше заходит (но без книг или хороших статей, а также документации - никак).
    По языку - зависит от того, что выберете: веб фронт, веб бекенд, мобайл, десктоп и т.д. По популярным языкам постоянно везде публикуется статистика, так что можно что-то из них выбрать. Не думаю, что новичку стоит выбирать малопопулярный язык (с++ тоже к ним сейчас относится). Из популярных - это java, js, php, python. Мне кажется, что проще всего и быстрее всего начинать с php, хотя давно им не занимался, поэтому точно не знаю, как там дела обстоят. Кроме того, поговаривают, что он тоже популярность теряет, так что возможно это неперспективно, но новичка это не должно волновать. Главное, получить какой-то опыт коммерческой разработки, а язык и сфера не сильно важны.

    ЗЫ Ещё где-то между пунктами 2 и 5 надо хорошо подтянуть английский язык (для чтения оригинальной документации, а также книг и статей на английском). В идеале - до среднего уровня, но минимум - до уровня, который лежит посередине между средним и низким (чтение текстов на инглише с нечастым обращением к словарю).
    Ответ написан
    2 комментария
  • Как отобразить содержимое файла?

    @MaxLich
    java developer
    Используй BufferedReader. Или сразу Files.readAllLines(Path path).
    Ответ написан
    Комментировать
  • В каком виде хранить данные для сравнения с переменной?

    @MaxLich
    java developer
    Предлагаю HashSet или HashMap. В этих структурах поиск по элементам - быстрый.
    Ответ написан
    Комментировать
  • Как использовать класс InetAddress в AndroidStudio?

    @MaxLich
    java developer
    Странно, говорите о создании класса, а указываете ошибку про вызов приватного конструктора.
    Ответ написан
    Комментировать