2011-08-07 64 views
0

我正在嘗試使用HBASE(0.90.2)運行datanucleus REST service(2.0.1)。與HBASE使用datanucleus-rest

當訪問servlet(註冊作品)然而,我得到一個503:

HTTP ERROR 503

問題訪問/ DN /。原因:

org.datanucleus.exceptions.NucleusUserException: There is no 
available StoreManager of type "rdbms". Make sure that you have put 
the relevant DataNucleus store plugin in your CLASSPATH and if 
defining a connection via JNDI or DataSource you also need to provide 
persistence property "datanucleus.storeManagerType" 

我的persistence.xml看起來是這樣的:

<persistence-unit name="test"> 
    <provider>org.datanucleus.api.jdo.JDOPersistenceManagerFactory</provider> 
    <class>com.bla.MyClass</class> 
    <exclude-unlisted-classes /> 
    <properties> 
     <property name="datanucleus.storeManagerType" value="hbase" /> 
     <property name="datanucleus.ConnectionURL" value="hbase" /> 
     <property name="datanucleus.ConnectionUserName" value="" /> 
     <property name="datanucleus.ConnectionPassword" value="" /> 
     <property name="datanucleus.autoCreateTables" value="true" /> 
     <property name="datanucleus.autoCreateColumns" value="true" /> 
     <property name="datanucleus.Multithreaded" value="true" /> 
    </properties> 
</persistence-unit> 

我不確定但與值

  • 提供商
  • datanucleus.storeManagerType

任何人都可以給我一個提示,我可能是錯誤的或指向我的一些文件呢?

+0

尤其是的值在所有示例中似乎都是「org.datanucleus.api.jpa.PersistenceProviderImpl」。 – Joscha

+0

提供程序必須是:org.datanucleus.api.jpa.PersistenceProviderImpl和datanucleus.storeManagerType不是必需的。另外不要忘記使persistence-unit name-Attribute與web.xml中指定的屬性相同 – Joscha

回答

1

自從後端使用JDO以來,提供者是無關緊要的; persistence.xml只是簡單地定義連接,屬性(以及需要的類)。

datanucleus.storeManagerType也是無關緊要的,因爲只有當您使用JNDI指定連接時,根據文檔的說明清楚。

所以你沒有datanucleus-hbase,也沒有你的classpath中的依賴jar。

顯然看着日誌可能會有所幫助。我可以使用DataNucleus v3 REST和HBase完全沒有問題