我们在 Linux 机器中运行许多 glassfish 实例,突然它们停止记录(创建了一个空白的 server.log 文件,并且没有附加任何记录数据)。
它发生在大约一周的正常记录之后。
我有一个 JEE6 应用程序,其中包含多个 ejb,每个 ejb 都引用客户端 jar。对于其中的大多数,我在将它们部署到我的 Glassfish 3.1.2 实例时没有任何问题。然而,我有一个,它工作正常,直到我从我的业务层应用程序引用它。在那里,我实例化了客户端的一个对象,就像我在其他所有地方所做的那样,它运行得很好。仅当我在应用程序中引用此特定客户端 jar,然后尝试部署时,我才会从 Glassfish 获得以下信息:
[#|2012-11-08T08:38:22.773-0500|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=46;_ThreadName=Thread-2;|Exception while deploying the app [rpavis-app-im-1.0-SNAPSHOT]|#]
[#|2012-11-08T08:38:22.773-0500|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=46;_ThreadName=Thread-2;|Error processing EjbDescriptor
java.lang.RuntimeException: Error processing EjbDescriptor
at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:294)
at com.sun.enterprise.deployment.EjbDescriptor.visit(EjbDescriptor.java:2578)
at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:734)
at com.sun.enterprise.deployment.Application.visit(Application.java:1765)
at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:830)
at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:277)
at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:240)
at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:175)
at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:94)
at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:827)
at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:769)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:368)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) …
Run Code Online (Sandbox Code Playgroud) 我们正试图计算玻璃鱼中的实例.当使用len()函数时,它总是返回1而不是0.也许它用空格或其他东西填充列表[0].这是我们的代码.
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(self.get('hostname'),int(self.get('port')),self.get('username'),allow_agent=True)
#try:
stdin, stdout, stderr = ssh.exec_command('~/glassfish3/glassfish/bin/asadmin list-instances')
result = stdout.readlines()
#except Exception, e:
# return MonitoringResult(MonitoringResult.OK,'all instances up!')
result = "".join(result)
#line = re.compile(r'\bnot\s\D*\n')
#rline = "".join(line.findall((result)))
line2=re.compile(r'\bnot')
rline2 = ";".join(line2.findall((result)))
print(rline2)
i = 0
listr = rline2.split(";")
while(i < (len(listr)):
i+=1
print(i)
if rline2:
return MonitoringResult(MonitoringResult.CRITICAL,'instance down')
else:
return MonitoringResult(MonitoringResult.OK, 'All instances are up')
Run Code Online (Sandbox Code Playgroud) 我正在使用GlassFish 3.1.2.2(由于操作系统限制,我无法升级到4).
我有兴趣将JPA 2.0升级到JPA 2.1 GlassFish 3.1.2.2.我怎样才能做到这一点?
我已经在GlassFish上部署了我的Web应用程序http://localhost:8080/Elibrary/
.
那么如何配置我的服务器以使"Elibrary"可以从Internet访问?
我知道在ASP中我们可以使用IIS来为来自域的别名.
有人可以让我知道或指出一些文件吗?
如果oracle.exe正在运行,则Glassfish服务器会出错并且无法启动.
我试图更改Glassfish服务器的端口号,但这没有帮助.
我想在Java Web应用程序中使用Oracle 10g数据库,这需要Glassfish服务器,所以我将不胜感激任何解决方案.