我在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