0

クライアントから単純なエンドポイントメソッドを呼び出します。

MyStatus getStatus(Car car) throws NoSuchCarException;

私が得たものは:

java.lang.OutOfMemoryError: PermGen space
at com.sun.xml.internal.ws.client.Stub.process(Stub.java:317)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:146)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:129)
at $Proxy124.getStatus(Unknown Source)
at de.Babs.showState(Babs.java:622)

何が問題ですか?JAX通信からxml-loggingをアクティブ化するにはどうすればよいですか?

4

1 に答える 1

0

問題は、コンテナーまたはアプリケーション サーバーに 2 つの多数のアプリケーションがデプロイされていることです。java.lang.OutOfMemoryError: PermGen spaceプログラミングのミスによるものではなく、システムの制限 (メモリ) によるものです。たとえば、一部のリソースをロードするのに十分なメモリがないことを意味する場合があります。デプロイまたは再デプロイのたびにサーバーを再起動してください。

ロギングを有効にするには、 server のグローバル ライブラリに必要なlog4jものまたは使用しているフレームワークを配置するだけで、次のようなファイルを作成します (使用している場合)。slf4jlog4j.propertieslog4j

log4j.rootLogger=INFO,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %X{file} %c{1} - %m%n

####################### YourService ######################
log4j.logger.com.yourservice.servicename=DEBUG,servicename
log4j.additivity.com.yourservice.servicename=false
log4j.logger.servicename=DEBUG,servicename
log4j.additivity.servicename=false
log4j.appender.servicename=org.apache.log4j.DailyRollingFileAppender
log4j.appender.servicename.File=C:\\Servers\\glassfish-3.1.2\\gf-app-logs\\servicename.log
log4j.appender.servicename.DatePattern='.'yyyy-MM-dd
log4j.appender.servicename.layout=org.apache.log4j.PatternLayout
log4j.appender.servicename.layout.ConversionPattern=%d [%t] %-5p %X{file} %c{1} %m%n
log4j.appender.servicename.ImmediateFlush=true
########################################################

私はglassfish 3を使用していましたが、すべてのログはこのファイルに表示されました: C:\\Servers\\glassfish-3.1.2\\gf-app-logs\\servicename.log. たとえば、glassfish 3 では、このlog4j.propertiesファイルを次の場所に追加する必要があります。&{base.dir}\glassfish-3.1.2\glassfish3\glassfish\domains\domain1\config

于 2012-09-13T21:52:14.850 に答える