2012-01-16 118 views
4

我正在运行glassfish 3.1.1。在我的开发机器上(使用Windows XP)已经有一段时间了,但今天早上它无法启动。运行 asadmin start-domain domain1 它报告:Glassfish 3.1.1启动失败

Waiting for domain1 to start .....Error starting domain domain1. 
The server exited prematurely with exit code 1. 
Before it died, it produced the following output: 

Launching GlassFish on Felix platform 
Completed shutdown of GlassFish runtime 
Exception in thread "main" java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. 
java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces 
sorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMa 
in.java:97) 
     at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55) 
Caused by: java.lang.NullPointerException 
     at com.sun.enterprise.server.logging.GFFileHandler.postConstruct(GFFileH 
andler.java:159) 
     at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl. 
java:131) 
     at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreato 
r.java:91) 
     at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.jav 
a:82) 
     at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.jav 
a:67) 
     at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingIn 
habitant.java:139) 
     at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantIm 
pl.java:76) 
     at org.jvnet.hk2.component.Habitat$5.get(Habitat.java:701) 
     at java.util.AbstractList$Itr.next(AbstractList.java:358) 
     at com.sun.enterprise.server.logging.LogManagerService.postConstruct(Log 
ManagerService.java:374) 
     at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl. 
java:131) 
     at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreato 
r.java:91) 
     at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.jav 
a:82) 
     at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.jav 
a:67) 
     at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingIn 
habitant.java:139) 
     at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantIm 
pl.java:76) 
     at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.ja 
va:229) 
     at com.sun.enterprise.v3.server.AppServerStartup.doStart(AppServerStartu 
p.java:145) 
     at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup. 
java:136) 
     at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishI 
mpl.java:79) 
     at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.start(Glass 
FishDecorator.java:63) 
     at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishImpl.start(O 
SGiGlassFishImpl.java:69) 
     at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(
GlassFishMain.java:117) 
     ... 6 more 

然而,server.log中写道:

1月16日,2

012 10:59:14 AM com.sun.enterprise.admin.launcher.GFLauncherLogger info 
Information: JVM invocation command line: 
C:\Programme\Java\jdk1.7.0\bin\java.exe 
-cp 
C:/glassfish3/glassfish/modules/glassfish.jar 
-XX:+UnlockDiagnosticVMOptions 
-XX:MaxPermSize=192m 
-XX:NewRatio=2 
-Xmx512m 
-client 
-javaagent:C:/glassfish3/glassfish/lib/monitor/flashlight-agent.jar 
-Dfelix.fileinstall.disableConfigSave=false 
-Djavax.net.ssl.keyStore=C:\glassfish3\glassfish\domains\domain1/config/keystore.jks 
-Djava.awt.headless=true 
-Dfelix.fileinstall.poll=5000 
-Djava.endorsed.dirs=C:\glassfish3\glassfish/modules/endorsed;C:\glassfish3\glassfish/lib/endorsed 
-Dfelix.fileinstall.bundles.startTransient=true 
-Djavax.net.ssl.trustStore=C:\glassfish3\glassfish\domains\domain1/config/cacerts.jks 
-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as 
-DANTLR_USE_DIRECT_CLASS_LOADING=true 
-Djava.security.auth.login.config=C:\glassfish3\glassfish\domains\domain1/config/login.conf 
-Dgosh.args=--nointeractive 
-Dosgi.shell.telnet.maxconn=1 
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver 
-Dfelix.fileinstall.dir=C:\glassfish3\glassfish/modules/autostart/ 
-Dosgi.shell.telnet.port=6666 
-Djava.security.policy=C:\glassfish3\glassfish\domains\domain1/config/server.policy 
-Dfelix.fileinstall.log.level=2 
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory 
-Dosgi.shell.telnet.ip=127.0.0.1 
-Dcom.sun.aas.instanceRoot=C:\glassfish3\glassfish\domains\domain1 
-Dcom.sun.aas.installRoot=C:\glassfish3\glassfish 
-Djava.ext.dirs=C:\Programme\Java\jdk1.7.0/lib/ext;C:\Programme\Java\jdk1.7.0/jre/lib/ext;C:\glassfish3\glassfish\domains\domain1/lib/ext 
-Dfelix.fileinstall.bundles.new.start=true 
-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.fileinstall 
-Djava.library.path=C:/glassfish3/glassfish/lib;C:/Programme/Java/jdk1.7.0/bin;C:/WINDOWS/Sun/Java/bin;C:/WINDOWS/system32;C:/WINDOWS;C:/Programme/NVIDIA Corporation/PhysX/Common;C:/oracle/product/10.2.0/client_1/BIN;C:/WINDOWS/system32/wbem;C:/Programme/Microsoft SQL Server/80/Tools/Binn;C:/WINDOWS/system32/WindowsPowerShell/v1.0;Y:/Maven-3.0.3/bin;C:/TP/ant/bin;Y:/Lotto/JOB-4.3.4-win32/JOB-4.3.4-bin/bin;C:/glassfish3/glassfish/bin 
com.sun.enterprise.glassfish.bootstrap.ASMain 
-domainname 
domain1 
-asadmin-args 
--host,,,localhost,,,--port,,,4848,,,--secure=false,,,--terse=false,,,--echo=false,,,--interactive=true,,,start-domain,,,--verbose=false,,,--debug=false,,,--domaindir,,,C:\glassfish3\glassfish\domains,,,domain1 
-instancename 
server 
-verbose 
false 
-debug 
false 
-asadmin-classpath 
C:/glassfish3/glassfish/modules/admin-cli.jar 
-asadmin-classname 
com.sun.enterprise.admin.cli.AsadminMain 
-upgrade 
false 
-type 
DAS 
-domaindir 
C:/glassfish3/glassfish/domains/domain1 
-read-stdin 
true 
Jan 16, 2012 10:59:14 AM com.sun.enterprise.admin.launcher.GFLauncherLogger info 
Information: Successfully launched in 31 msec. 

我们更新到JDK7u2上周五,但我能够启动之后的域名。日志显示它仍在使用JDK1.7.0。无论如何。

任何想法?

+0

一些调查研究表明,通过管理不断变化的日志记录属性控制台不是一个好主意:[警告,触摸日志记录属性可能会破坏GF安装](http://www.java.net/forum/topic/glassfish/glassfish/warning-touching-logging-properties-may-trash -gf-installation) 就像在那里发布的那样,我从另一个安装中复制了logging.properties,现在一切正常。 – TPete 2012-01-16 10:32:40

+0

请提出问题! – codeplumber 2012-01-16 23:13:49

+0

在Glassfish 4.1上面临同样的问题。在日志配置中进行一些更改,并停止启动,很难相信。 – 2015-07-23 16:07:05

回答

3

您正在看到http://java.net/jira/browse/GLASSFISH-17161这是GLASSFISH-17037的复制品。 GLASSFISH-17037在发行说明中。

解决方法是在调整/更改控制台中的日志级别后运行CLI命令。

%asadmin set-log-levels com.sun.enterprise.server.logging.GFFileHandler = ALL 指定域管理服务器(DAS)以外的服务器实例的--target选项。

该问题已在3.1.2发布中得到修复,该版本即将发布给FCS。

+0

感谢分享,虽然我不会称之为重复:没有更多的日志记录不完全相同,根本不是开始,是吗? – TPete 2012-01-17 19:59:17

+2

3.1.2.2(build 5)中的错误 – 2013-08-29 05:10:01

0

尝试卸载该修补程序并运行您的Glassfish服务器。 你是否将补丁安装到同一目录?也许你已经安装了2个JDK?我不记得,但也许Glassfish使用它自己的JDK,所以你有冲突。无论如何,我建议你去JDK 1.7.0并重试。

还检查Windows环境变量为JAVA_HOME和PATH,也许问题出在那里。

您也可以尝试完全卸载JDK,然后安装JDK 1.7.0_02(打补丁)。

+0

如上所述,这是glassfish服务器的已知问题,与JDK更新无关。 – TPete 2012-01-17 19:59:40

1

我们通过替换从域1 /配置/默认配置floder采取“logging.properties”文件来解决这个问题,并放置到域/域1 /配置/