java调用jndi出错,Webshpere数据源错误:无法查找JNDI名称

我正在使用Hibernate和Websphere Application Server 8.0开发应用程序 .

我在Websphere中创建了一个数据源,它可以成功连接数据库 .

但是从应用程序中我得到以下错误:

SystemErr R创建会话时出错:org.hibernate.service.jndi.JndiException:无法查找JNDI名称[java:comp / env / jdbc / OracleDS]

以下是我做的设置:

Websphere数据源设置:

e524b4a1-e969-49d3-9321-2c6160d29fd0.png

hibernate.cfg.xml

15af1cbc-1ada-43b8-893a-a4e34429efd8.png

web.xml

075c603e-ab6c-4e2c-ad0a-e6e268b70b48.png

当我试图获得sessiofactory时,它给了我错误:

HibernateUtil.java:

try

{

Configuration configuration = new Configuration().configure();

serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();

sessionFactory = configuration.buildSessionFactory(serviceRegistry);

}

catch (HibernateException he)

{

System.err.println("Error creating Session: " + he);

throw new ExceptionInInitializerError(he);

}

Error:

com.ibm上的com.ibm.ws.threadContext.JavaNameSpaceAccessorImpl.getJavaNameSpace(JavaNameSpaceAccessorImpl.java:79)中的com.ibm.ws.webcontainer.metadata.WebComponentMetaDataImpl.getJavaNameSpace(WebComponentMetaDataImpl.java:143)中的> java.lang.NullPointerException .ws.naming.java.javaURLContextFactory.createURLContextRoot(javaURLContextFactory.java:137)在com.ibm.ws.naming.urlbase.UrlContextFactory.getObjectInstance(UrlContextFactory.java:101)在org.apache.aries.jndi.URLContextProvider.getContext (URLContextProvider.java:43)位于org.apache的org.apache.aries.jndi.DelegateContext.getURLContext(DelegateContext.java:252)org.apache.aries.jndi.DelegateContext.findContext(DelegateContext.java:214) . aries.jndi.DelegateContext.findContext(DelegateContext.java:207)位于org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.java:157)atgav的javax.naming.InitialContext.lookup(InitialContext.java:432) org.h中的.hibernate.service.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:65) ibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.configure在org.hibernate.service.internal.AbstractServiceRegistryImpl(DatasourceConnectionProviderImpl.java:116)在org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) . initializeService(AbstractServiceRegistryImpl.java:159)在org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)在org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:223)在组织.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:89)在org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)在org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService (AbstractServiceRegistryImpl.java:159)org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegis) tryImpl.java:131)org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1818)atg.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1776)at com.test.util.HibernateUtil . ( HibernateUtil.java:25)

创建会话时出错:org.hibernate.service.jndi.JndiException:无法查找JNDI名称[java:comp / env / jdbc / OracleDS]

请让我知道我错过了什么 .

我已经应用了更多尝试,现在我收到以下错误:

FFDC异常:javax.naming.NamingException SourceId:com.ibm.ws.naming.java.javaURLContextFactory.createURLContextRoot ProbeId:142 Reporter:java.lang.Class@dfac0b43 javax.naming.NamingException:NMSV0308W:javaURLContextFactory无法创建javaURLContext对象因为当前没有可从执行线程访问的java URL名称空间 . 在com.ibm.ws.naming.java.javaURLContextFactory.createURLContextRoot(javaURLContextFactory.java:170)在com.ibm.ws.naming.urlbase.UrlContextFactory.getObjectInstance(UrlContextFactory.java:101)在org.apache.aries.jndi .URLContextProvider.getContext(URLContextProvider.java:43)在org.apache.aries.jndi.DelegateContext.getURLContext(DelegateContext.java:252)在org.apache.aries.jndi.DelegateContext.findContext(DelegateContext.java:214)在org.apache.aries.jndi.DelegateContext.findContext(DelegateContext.java:207)位于org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.java:157)的javax.naming.InitialContext.lookup(InitialContext.java: 432)在org.hibernate的org.hibernate.service.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:65)org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.configure(DatasourceConnectionProviderImpl.java:116) .service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)at at位于org.hibernate.engine.jdbc.internal.JdbcServicesImpl的org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)中的org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) . org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:89)中的buildJdbcConnectionAccess(JdbcServicesImpl.java:223)org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)at org位于org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java)的org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)中的.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) :1818)在com.test.util.HibernateUtil的org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1776) . (HibernateUtil.java:25)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值