发布JNDI资源初始化-数据库连接@”;DB2onCloud-BLUEMIX
我们无法使用Bluemix上的JNDI资源从“Liberty on Java”上部署的Java应用程序建立DB2数据库连接 它无法初始化资源 我的server.xml文件是发布JNDI资源初始化-数据库连接@”;DB2onCloud-BLUEMIX,db2,jndi,ibm-cloud,websphere-liberty,Db2,Jndi,Ibm Cloud,Websphere Liberty,我们无法使用Bluemix上的JNDI资源从“Liberty on Java”上部署的Java应用程序建立DB2数据库连接 它无法初始化资源 我的server.xml文件是 "<dataSource id="eVotingDataSource" jdbcDriverRef="db2-driver" jndiName="jdbc/DatabaseName" type="javax.sql.DataSource&
"<dataSource id="eVotingDataSource" jdbcDriverRef="db2-driver" jndiName="jdbc/DatabaseName" type="javax.sql.DataSource">
<properties.db2.jcc id="eVotingDataSource-props" databaseName="*******" user="db2inst1" password="******" portNumber="50001" serverName="********" sslConnection="true"/>
</dataSource>
<jdbcDriver id="db2-driver" libraryRef="db2-library"/>
<library id="db2-library">
<fileset id="db2-fileset" dir="${server.config.dir}/lib" includes="db2jcc4.jar db2jcc_license_cu.jar"/>
</library>
”
Web.xml文件
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/DatabaseName</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
数据库连接
jdbc/DatabaseName
javax.sql.DataSource
容器
applicationContext.xml文件
<jee:jndi-lookup id="eVotingDataSource"
下面是messages.log的输出
org.springframework.beans.factory.BeanCreationException:无法自动连线字段:private org.hibernate.SessionFactory com.nl.abnamro.evoting.dao.IssuerDAOImpl.eVotingSessionFactory;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建在类路径资源中定义了名为“eVotingSessionFactory”的bean时出错[applicationContext.xml]:设置bean属性“dataSource”时无法解析对bean“eVotingDataSource”的引用;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“eVotingDataSource”的bean时出错:调用init方法失败;嵌套异常为javax.naming.NamingException:CWWKN0008E:无法获取对象名称为jdbc/DatabaseName的ned
相关原因:org.springframework.beans.factory.BeanCreationException:创建名为“eVotingDataSource”的bean时出错:初始化方法调用失败;嵌套异常为javax.naming.NamingException:CWWKN0008E:无法获取名称为jdbc/DatabaseName的对象
相关原因:org.springframework.beans.factory.BeanCreationException:创建名为“eVotingMailSource”的bean时出错:初始化方法调用失败;嵌套异常为javax.naming.NameNotFoundException:中间上下文不存在:邮件/会话
加载应用程序时,我们收到以下错误:
错误500:javax.servlet.ServletException:Filter[springSecurityFilterChain]:无法初始化
您能提供帮助吗?您收到的错误与您的server.xml中的此配置有关
jndiName="**jdbc/DatabaseName**"
CWWKN0008E: An object could not be obtained for name **jdbc/DatabaseName**.
如果您使用的是使用Bluemix的DB服务绑定,则运行时将在应用程序登台时自动配置,因此您通常不需要在server.xml中提供自己的配置来覆盖Bluemix配置。
相反,如果您需要为自己的配置覆盖server.xml,您可以访问Bluemix页面上“环境变量”部分下Bluemix控制台上的DB服务引用
您可以将要在server.xml中使用的DBService名称检索为JNDI/[DBNAME]
您还可以检索正确的数据源以供使用,只需在Bluemix上部署您的应用程序,而无需覆盖server.xml,并在Bluemix UI(文件部分下)上检查生成的server.xml上数据源的值
jndiName="**jdbc/DatabaseName**"
CWWKN0008E: An object could not be obtained for name **jdbc/DatabaseName**.
有一个小问题:您能否确认您正在liberty运行时的打包版本中推送您的应用程序以及server.xml?您收到的错误与server.xml中的此配置有关
jndiName="**jdbc/DatabaseName**"
CWWKN0008E: An object could not be obtained for name **jdbc/DatabaseName**.
如果您使用的是使用Bluemix的DB服务绑定,则运行时将在应用程序登台时自动配置,因此您通常不需要在server.xml中提供自己的配置来覆盖Bluemix配置。
相反,如果您需要为自己的配置覆盖server.xml,您可以访问Bluemix页面上“环境变量”部分下Bluemix控制台上的DB服务引用
您可以将要在server.xml中使用的DBService名称检索为JNDI/[DBNAME]
您还可以检索正确的数据源以供使用,只需在Bluemix上部署您的应用程序,而无需覆盖server.xml,并在Bluemix UI(文件部分下)上检查生成的server.xml上数据源的值
jndiName="**jdbc/DatabaseName**"
CWWKN0008E: An object could not be obtained for name **jdbc/DatabaseName**.
有一个小问题:您能否确认您正在liberty运行时的打包版本中推送您的应用程序以及server.xml?liberty server是否配置了功能jndi-1.0?您好…是…它添加在server.xml文件中是为liberty server配置的功能jndi-1.0吗?您好…是…它添加在xml文件嗨,这里我使用的是“云上的DB2”"此服务未绑定到Bluemix中的应用程序。因此,我在Bluemix中的环境变量部分中没有任何内容。此外,我正在将应用程序与server.xml文件一起推送。如果定义有问题,请提供帮助。要连接到云上的db2,您应该使用类似于此处所述的jdbc连接字符串wise如果您希望使用jndi引用,您必须在server.xml中定义一个数据源,如下图所示n配置是错误的,您的bean引用了错误的DB connectionHi,这里我使用的是“DB2 on cloud”此服务未绑定到Bluemix中的应用程序。因此,我在Bluemix中的环境变量部分中没有任何内容。此外,我正在将应用程序与server.xml文件一起推送。如果定义有问题,请提供帮助。要连接到云上的db2,您应该使用类似于此处所述的jdbc连接字符串wise如果您希望使用jndi引用,您必须在server.xml中定义一个数据源,如下图所示n配置错误,您的bean引用了错误的DB连接