我在Tomcat 7.0上开发了一个应用程序,使用Datanucleus/JDO访问数据库。我目前有JDO连接属性存储在应用程序本身的“datanucleus.properties”中。连接工作正常,但我想将连接信息存储为JNDI,将它放在服务器上,不再在战争中(当远程部署它时,我总是必须替换战争中的文件)。Datanucleus(JDO)的Tomcat JNDI资源
我尝试以下:
在应用程序的web.xml创建(JDBC/ConnectionDB)
在 “Server.xml中”,我试图添加以下我的应用程序的情况下
<Resource name="jdbc/ConnectionDB" auth="Container" type="javax.jdo.PersistenceManagerFactory" /> <ResourceParams name="jdbc/ConnectionDB <parameter> <name>javax.jdo.PersistenceManagerFactoryClass</name> <value>org.datanucleus.api.jdo.JDOPersistenceManagerFactory</value> </parameter> <parameter> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/TomcatTest</value> </parameter> ...
然后我尝试创建一个新的PMF的语法如下:
上下文context = null; PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(“java:comp/env/jdbc/ConnectionDB”,context);
当我运行我的应用程序,我得到一个javax.jdo.JDOUserException:你要么指定此PMF使用“datanucleus.properties”的“持久性单元”(但,这并不存在!)
我真的不明白我的设置有什么问题。
问候,
马塞尔
马塞尔,我做试图让DataNucleus将和Tomcat和MySQL大家一起努力完全一样的事情。我的问题是由于某些原因,我不能让Eclipse插件工作在我的类上,并且我一直在获取类不是持久化异常。相同的代码适用于独立应用程序。我几乎可以肯定,如果可以通过共享文件夹结构和xml文件以及部署来帮助解决问题,那么可以在哪里放置orm文件等问题。我在这里发布了一个问题,但还没有答案。看看我,看看我的问题。提前致谢。 – 2014-02-10 20:17:56