当我们重新加载resourceConfig时,我们正面临一个严重的问题,即我们的Jersey容器进入挂起状态。 重新装载球衣容器的代码是 container.reload(ResourceConfig.forApplication(应用程序));
我们无法找到此问题的根本原因,现在阻止了我们的发布。
我们正在使用球衣版本2.13。
我们收到的堆栈跟踪如下
Thread [DefaultMessageListenerContainer-1] (Suspended)
owns: BufferedOutputStream (id=3280)
owns: PrintStream (id=3281)
owns: LoggingConfigurationHelper$2 (id=3282)
owns: OutputStreamWriter (id=3283)
owns: ConsoleHandler (id=3284)
owns: RestfulConnector (id=2845)
FileOutputStream.writeBytes(byte[], int, int, boolean) line: not available [native method]
FileOutputStream.write(byte[], int, int) line: not available
BufferedOutputStream.write(byte[], int, int) line: not available
PrintStream.write(byte[], int, int) line: not available
LoggingConfigurationHelper$2(PrintStream).write(byte[], int, int) line: not available
StreamEncoder.writeBytes() line: not available
StreamEncoder.implFlushBuffer() line: not available
StreamEncoder.implFlush() line: not available
StreamEncoder.flush() line: not available
OutputStreamWriter.flush() line: not available
ConsoleHandler(StreamHandler).flush() line: not available
ConsoleHandler.publish(LogRecord) line: not available
Logger.log(LogRecord) line: not available
Logger.doLog(LogRecord) line: not available
Logger.log(Level, String) line: not available
Logger.warning(String) line: not available
Errors.logErrors(Collection<ErrorMessage>) line: 191
Errors.processErrors(boolean) line: 132
Errors.postProcess(boolean) line: 423
Errors.process(Callable<T>, boolean) line: 320
Errors.process(Producer<T>, boolean) line: 297
Errors.processWithException(Runnable) line: 286
ApplicationHandler.<init>(Application, Binder, ServiceLocator) line: 320
ApplicationHandler.<init>(Application, Binder) line: 285
WebComponent.<init>(WebConfig, ResourceConfig) line: 311
ServletContainer.reload(ResourceConfig) line: 578
我们也有一个嫌犯。在我们的一个REST资源中,我们返回List。我们在泽西日志中观察到以下警告,在此日志之后容器进入无法使用的状态。
WARNING: The following warnings have been detected:
WARNING: Return type, java.util.List<SomeObject>, of method, public java.util.List<SomeObject> myResource.get(javax.ws.rs.core.UriInfo,java.lang.String,java.lang.String), is not resolvable to a concrete type.
任何帮助都将是一个很大的帮助! 如果您需要更多信息,请告诉我。 非常感谢。
答案 0 :(得分:0)
我们可以通过配置日志记录来解决此问题。现在,日志将定向到文件。