WebLogic: проблема jersey-media-multipart

У меня есть веб-приложение в Spring Boot, которое отлично работает в локальном коте. Однако наш рабочий сервер находится в Weblogic, и приложение не запускается с ошибкой:

""2018-12-20 08:28:14 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR org.glassfish.jersey.internal.Errors - Following issues have been detected:
WARNING: No injection source found for a parameter of type public javax.ws.rs.core.Response com.blah.rest.UploadCSVResource.uploadFile(java.io.InputStream,java.lang.String,java.lang.String) throws java.io.IOException at index 0.
WARNING: A HTTP GET method, public com.blah.entity.Status com.blah.rest.StatusResource.fetchLatestRecordByDate(int), should not consume any entity.
HINT: A HTTP GET method, public void com.blah.rest.BlahResource.load(java.lang.Integer,javax.servlet.http.HttpServletRequest), returns a void type. It can be intentional and perfectly fine, but it is a little uncommon that GET method returns always "204 No Content".

""2018-12-20 08:28:14 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO  o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext - Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@ac3fd42: startup date [Thu Dec 20 08:27:54 EST 2018]; root of context hierarchy

Приложение отлично работает, когда достаю jersey-media-multipart. Вот как выглядит соответствующая часть моего файла gradle:

  compile ("javax:javaee-api:7.0")
  compile ("javax.xml.bind:jaxb-api:2.3.0")
  compile ("com.jcraft:jsch:0.1.54")
  compile ("org.jasypt:jasypt:1.9.2")
  compile ("javax.el:javax.el-api:3.0.0")
  compile ("org.projectlombok:lombok:1.16.14")
  compile ("org.glassfish.web:javax.el:2.2.6")
  compile ('org.javassist:javassist:3.20.0-GA')
  compile ('org.glassfish.jersey.core:jersey-server:2.24.1')
  compile ('org.glassfish.jersey.containers:jersey-container-servlet-core:2.23.2')  
  compile ('org.glassfish.jersey.media:jersey-media-multipart:2.23.2')  
  compile ("org.apache.commons:commons-lang3:3.6")
  compile ("org.apache.commons:commons-math3:3.6.1")
  compile ("org.apache.commons:commons-collections4:4.1")
  compile ("org.apache.commons:commons-io:1.3.2")
  compile ("org.apache.commons:commons-csv:1.5")
  compile ("org.springframework.boot:spring-boot:${springBootVersion}") 
  compile ("org.springframework.boot:spring-boot-autoconfigure:${springBootVersion}")
  compile ("org.springframework.boot:spring-boot-starter:${springBootVersion}")
  compile ("org.springframework.boot:spring-boot-starter-logging:${springBootVersion}")
  compile ("org.springframework.boot:spring-boot-starter-parent:${springBootVersion}")
  compile ("org.springframework.boot:spring-boot-starter-web:${springBootStarterVersion}")
  compile ("org.springframework.boot:spring-boot-starter-data-jpa:${springBootStarterVersion}")
  compile ("org.springframework.boot:spring-boot-starter-jersey:${springBootStarterVersion}")
  compile ("org.springframework.boot:spring-boot-starter-cache:${springBootStarterVersion}")
  compile ("org.springframework.boot:spring-boot-starter-security:${springBootStarterVersion}")
  compile ("org.springframework.boot:spring-boot-starter-thymeleaf:${springBootStarterVersion}")  

и я обязательно зарегистрировал функцию multipart в моей конфигурации jersey

package com.blah.config;

import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.RequestContextFilter;

@Configuration
public class JerseyConfig extends ResourceConfig {

public JerseyConfig() {
    register(RequestContextFilter.class);
    register(MultiPartFeature.class);
    // Resources
    packages("com.blah.rest");
    // Exception Handlers
    packages("com.blah.exception");
    // Interceptor for Compression
    packages("com.blah.interceptor");
}
}

Кто-нибудь знает, как решить эту проблему в weblogic? Я перепробовал все, что мог придумать.

Что еще есть в вашем JerseyConfig? Является ли этот класс тем местом, где вы настраиваете свое приложение в Джерси?

Paul Samsotha 21.12.2018 06:31

Да, здесь я настраиваю свое приложение для майки. Я отредактирую вопрос и добавлю весь класс

Suraj Kulkarni 27.12.2018 13:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Версия Java на основе версии загрузки
Версия Java на основе версии загрузки
Если вы зайдете на официальный сайт Spring Boot , там представлен start.spring.io , который упрощает создание проектов Spring Boot, как показано ниже.
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
0
2
242
0

Другие вопросы по теме