[英]Glassfish 4 - clustered setup - database connection pool on DAS
I have a glassfish 4 installation (DAS). 我有一个glassfish 4安装(DAS)。 One remote (SSH) node and one cluster with one instance on that node.
一个远程(SSH)节点和一个在该节点上具有一个实例的集群。 Also i have defined a connection pool and the datasource for it.
我也为它定义了一个连接池和数据源。
My test application is very simple - it is a web application with one servlet, in that i load the datasource in the following way: 我的测试应用程序非常简单 - 它是一个带有一个servlet的Web应用程序,我以下列方式加载数据源:
@Resource(lookup = "jdbc/vadsacRootSource")
private Datasource datasource;
What does not work - the datasource on the cluster instance (remote) cannot be instantiated, because the underlying pool cannot be found - stacktrace see at the end of the message. 什么不起作用 - 集群实例(远程)上的数据源无法实例化,因为无法找到基础池 - stacktrace在消息的末尾看到。
What does work: 什么工作:
So, there is something wrong with the current glassfish 4 version - Datasources (or its pool) does not get instantiated (or found per JNDI?) on some remote SSH instance. 那么,当前的glassfish 4版本有问题 - 在某些远程SSH实例上,Datasources(或其池)没有实例化(或者每个JNDI找到?)。 I have tested the official release 4.0 and the nightly build version 4.1-bl3 - the same problem
我测试了官方版本4.0和每晚构建版本4.1-bl3 - 同样的问题
Do you have any idea? 你有什么主意吗?
GlassFish Server Open Source Edition 4.0 - Error report
GlassFish Server开源版4.0 - 错误报告
HTTP Status 500 - Internal Server Error
HTTP状态500 - 内部服务器错误
type Exception report
类型异常报告
message Internal Server Error
消息内部服务器错误
description The server encountered an internal error that prevented it from fulfilling this request.
description服务器遇到内部错误,导致无法完成此请求。
exception
例外
javax.servlet.ServletException: Error instantiating servlet classjavax.servlet.ServletException:实例化servlet类时出错\ncom.sedo.webtesty.HelloWorld
com.sedo.webtesty.HelloWorld
root cause
根本原因
com.sun.enterprise.container.common.spi.util.InjectionException:com.sun.enterprise.container.common.spi.util.InjectionException:\nError creating managed object for class: class
为类创建托管对象时出错:class\ncom.sedo.webtesty.HelloWorld
com.sedo.webtesty.HelloWorld
root cause
根本原因
com.sun.enterprise.container.common.spi.util.InjectionException:com.sun.enterprise.container.common.spi.util.InjectionException:\nException attempting to inject Res-Ref-Env-Property:
尝试注入Res-Ref-Env-Property的异常:\ncom.sedo.webtesty.HelloWorld/datasource@javax.sql.DataSource@ resolved
com.sedo.webtesty.HelloWorld / datasource @javax.sql.DataSource @已解决\nas: jndi: jdbc/vadsacRootSource@res principal: null@mail: null No
as:jndi:jdbc / vadsacRootSource @res principal:null @ mail:null No\nRuntime properties Database Vendor : null Create Tables at Deploy :
运行时属性数据库供应商:null在部署时创建表:\nfalse Delete Tables at Undeploy : false into class
false在Undeploy中删除表:false到类\ncom.sedo.webtesty.HelloWorld: Lookup failed for
com.sedo.webtesty.HelloWorld:Lookup失败了\n'java:comp/env/com.sedo.webtesty.HelloWorld/datasource' in
'java:comp / env / com.sedo.webtesty.HelloWorld / datasource'in\nSerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
SerialContext [myEnv = {java.naming.factory.initial的= com.sun.enterprise.naming.impl.SerialInitContextFactory,\njava.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,\njava.naming.factory.url.pkgs=com.sun.enterprise.naming}
java.naming.factory.url.pkgs = com.sun.enterprise.naming}
root cause
根本原因
javax.naming.NamingException: Lookup failed forjavax.naming.NamingException:查找失败\n'java:comp/env/com.sedo.webtesty.HelloWorld/datasource' in
'java:comp / env / com.sedo.webtesty.HelloWorld / datasource'in\nSerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
SerialContext [myEnv = {java.naming.factory.initial的= com.sun.enterprise.naming.impl.SerialInitContextFactory,\njava.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,\njava.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root
java.naming.factory.url.pkgs = com.sun.enterprise.naming} [Root\nexception is javax.naming.NamingException: Lookup failed for
异常是javax.naming.NamingException:查找失败\n'jdbc/vadsacRootSource' in
'jdbc / vadsacRootSource'中\nSerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
SerialContext [myEnv = {java.naming.factory.initial的= com.sun.enterprise.naming.impl.SerialInitContextFactory,\njava.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,\njava.naming.factory.url.pkgs=com.sun.enterprise.naming,
java.naming.factory.url.pkgs = com.sun.enterprise.naming,\ncom.sun.enterprise.naming.logicalName=java:comp/env/com.sedo.webtesty.HelloWorld/datasource}
com.sun.enterprise.naming.logicalName =的java:comp / env的/ com.sedo.webtesty.HelloWorld /数据源}\n[Root exception is javax.naming.NamingException: Unable to lookup
[根异常是javax.naming.NamingException:无法查找\nresource : jdbc/vadsacRootSource [Root exception is
resource:jdbc / vadsacRootSource [根异常是\ncom.sun.appserv.connectors.internal.api.ConnectorRuntimeException:
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:\nLookup failed for '__SYSTEM/pools/mysqlRootVadsacPool' in
“__SYSTEM / pools / mysqlRootVadsacPool”中的查找失败\nSerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
SerialContext [myEnv = {java.naming.factory.initial的= com.sun.enterprise.naming.impl.SerialInitContextFactory,\njava.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,\njava.naming.factory.url.pkgs=com.sun.enterprise.naming,
java.naming.factory.url.pkgs = com.sun.enterprise.naming,\ncom.sun.enterprise.naming.logicalName=java:comp/env/com.sedo.webtesty.HelloWorld/datasource}]]]
com.sun.enterprise.naming.logicalName =的java:comp / env的/ com.sedo.webtesty.HelloWorld /数据源}]]]
root cause
根本原因
javax.naming.NamingException: Lookup failed forjavax.naming.NamingException:查找失败\n'jdbc/vadsacRootSource' in
'jdbc / vadsacRootSource'中\nSerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
SerialContext [myEnv = {java.naming.factory.initial的= com.sun.enterprise.naming.impl.SerialInitContextFactory,\njava.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,\njava.naming.factory.url.pkgs=com.sun.enterprise.naming,
java.naming.factory.url.pkgs = com.sun.enterprise.naming,\ncom.sun.enterprise.naming.logicalName=java:comp/env/com.sedo.webtesty.HelloWorld/datasource}
com.sun.enterprise.naming.logicalName =的java:comp / env的/ com.sedo.webtesty.HelloWorld /数据源}\n[Root exception is javax.naming.NamingException: Unable to lookup
[根异常是javax.naming.NamingException:无法查找\nresource : jdbc/vadsacRootSource [Root exception is
resource:jdbc / vadsacRootSource [根异常是\ncom.sun.appserv.connectors.internal.api.ConnectorRuntimeException:
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:\nLookup failed for '__SYSTEM/pools/mysqlRootVadsacPool' in
“__SYSTEM / pools / mysqlRootVadsacPool”中的查找失败\nSerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
SerialContext [myEnv = {java.naming.factory.initial的= com.sun.enterprise.naming.impl.SerialInitContextFactory,\njava.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,\njava.naming.factory.url.pkgs=com.sun.enterprise.naming,
java.naming.factory.url.pkgs = com.sun.enterprise.naming,\ncom.sun.enterprise.naming.logicalName=java:comp/env/com.sedo.webtesty.HelloWorld/datasource}]]
com.sun.enterprise.naming.logicalName =的java:comp / env的/ com.sedo.webtesty.HelloWorld /数据源}]]
root cause
根本原因
javax.naming.NamingException: Unable to lookup resourcejavax.naming.NamingException:无法查找资源\n: jdbc/vadsacRootSource [Root exception is
:jdbc / vadsacRootSource [根异常是\ncom.sun.appserv.connectors.internal.api.ConnectorRuntimeException:
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:\nLookup failed for '__SYSTEM/pools/mysqlRootVadsacPool' in
“__SYSTEM / pools / mysqlRootVadsacPool”中的查找失败\nSerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
SerialContext [myEnv = {java.naming.factory.initial的= com.sun.enterprise.naming.impl.SerialInitContextFactory,\njava.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,\njava.naming.factory.url.pkgs=com.sun.enterprise.naming,
java.naming.factory.url.pkgs = com.sun.enterprise.naming,\ncom.sun.enterprise.naming.logicalName=java:comp/env/com.sedo.webtesty.HelloWorld/datasource}]
com.sun.enterprise.naming.logicalName =的java:comp / env的/ com.sedo.webtesty.HelloWorld /数据源}]
root cause
根本原因
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:\nLookup failed for '__SYSTEM/pools/mysqlRootVadsacPool' in
“__SYSTEM / pools / mysqlRootVadsacPool”中的查找失败\nSerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
SerialContext [myEnv = {java.naming.factory.initial的= com.sun.enterprise.naming.impl.SerialInitContextFactory,\njava.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,\njava.naming.factory.url.pkgs=com.sun.enterprise.naming,
java.naming.factory.url.pkgs = com.sun.enterprise.naming,\ncom.sun.enterprise.naming.logicalName=java:comp/env/com.sedo.webtesty.HelloWorld/datasource}
com.sun.enterprise.naming.logicalName =的java:comp / env的/ com.sedo.webtesty.HelloWorld /数据源}
root cause
根本原因
javax.naming.NamingException: Lookup failed forjavax.naming.NamingException:查找失败\n'__SYSTEM/pools/mysqlRootVadsacPool' in
'__SYSTEM / pools / mysqlRootVadsacPool'中\nSerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
SerialContext [myEnv = {java.naming.factory.initial的= com.sun.enterprise.naming.impl.SerialInitContextFactory,\njava.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,\njava.naming.factory.url.pkgs=com.sun.enterprise.naming,
java.naming.factory.url.pkgs = com.sun.enterprise.naming,\ncom.sun.enterprise.naming.logicalName=java:comp/env/com.sedo.webtesty.HelloWorld/datasource}
com.sun.enterprise.naming.logicalName =的java:comp / env的/ com.sedo.webtesty.HelloWorld /数据源}\n[Root exception is javax.naming.NameNotFoundException:
[根异常是javax.naming.NameNotFoundException:\npools]
池]
root cause
根本原因
javax.naming.NameNotFoundException: poolsjavax.naming.NameNotFoundException:池
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 4.0 logs.
note备注 GlassFish Server Open Source Edition 4。0日志中提供了异常的完整堆栈跟踪及其根本原因。
GlassFish Server Open Source Edition 4.0
GlassFish Server开源版4.0
在当前的4.1版本中修复了这个问题 - 现在一切正常
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.