jbuilder + jboss 應用EJB時出錯(調好很長時間了老出錯,鬱悶!_!)

lianga發表於2003-07-06


網上的資料全是透過JB和jboss連結sessionEJB的,並沒有介紹如果連結實體Bean

我在jb中配置好了JBOSS的SERVER,部曙也正常可以jsp servlet也可能透過,我想透過SERLVET調出sessinoEjb,然後透過sessionEJb來調出實體Bean從資料庫中取出一條記錄,我把sybase-service.xml也放到
D:\jboss-3.0.7_jakarta-tomcat-4.1.24\server\default\deploy目錄下面了,後面並沒有報任何錯誤有這種一句
02:06:56,828 INFO [jdbc/SybaseDB] Bound connection factory for resource adapter'JBoss LocalTransaction JDBC Wrapper' to JNDI name 'java:/jdbc/SybaseDB'

我在我的sessionEjb中是這樣寫的

Jt01Test01Home Home ;
Jt01Test01 jt01Test ;
String _strReturn ;
try{

System.out.println("11111111111111111111");

Home = (Jt01Test01Home)(new InitialContext().lookup("Jt01Test01"));

System.out.println("2222222222222222222");
jt01Test = Home.findByPrimaryKey(_strCode) ;
System.out.println("3333333333333333333333");
_strReturn = jt01Test.getName() ;
System.out.println("44444444444444444444444");
return _strReturn ;
}catch(Exception ex){
System.out.println("ejb error message is " + ex.getMessage());
}
return null ;
我是想透過呼叫實體Bean的HOME透過findByPrimaryKey返回一個實體Bean然後透過getname把記錄的NAME給取出,編譯也透過,部署也很正常,但一呼叫時返因一個NULL來,後臺打出如下錯誤資訊


02:13:29,343 INFO [STDOUT] 111111111111111111
02:13:29,343 INFO [STDOUT] 222222222222222222
02:13:29,500 INFO [STDOUT] ejb error message is (No such entity!) 就是這個No such entity!

02:13:29,500 INFO [STDOUT] -- Succeeded: getName(001)
02:13:29,500 INFO [STDOUT] -- Execution time: 297 ms.
02:13:29,500 INFO [STDOUT] -- Return value from getName(001): null.


請問我到底錯在什麼地方的是我的在Import database時寫的jndi不對,我寫的是
java:/SybaseDb
java:/jdbc/SybaseDB
SybaseDB
jdbc/SybaseDB
這些我都試過都不行,到底是如何寫,還是就是我通何判斷我的JBOSS和資料庫是連結通的 我的sybase-service.xml部分內容如下我也在classpath指定了sybase資料庫的JDBC的JAR檔案



<mbean code="org.jboss.resource.connectionmanager.RARDeployment"
name="jboss.jca:service=LocalTxDS,name=SybaseDB">

<attribute name="JndiName">jdbc/SybaseDB</attribute>

<attribute name="ManagedConnectionFactoryProperties">
<properties>
<!-- Sybase jConnect URL for the database.
NOTE: The hostname and port of made up values. The optional
database name is provided, as well as some additinal Driver
parameters.
-->

<config-property name="ConnectionURL" type="java.lang.String">
jdbc:sybase:Tds:127.0.0.1:5000/mydb
</config-property>
<config-property name="DriverClass" type="java.lang.String">
com.sybase.jdbc2.jdbc.SybDriver
</config-property>
<config-property name="UserName" type="java.lang.String">
sa
</config-property>
<config-property name="Password" type="java.lang.String">
111111
</config-property>
</properties>
</attribute>

<!--Below here are advanced properties -->
<!--hack-->
<depends optional-attribute-name="OldRarDeployment">
jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper
</depends>
</mbean>


相關文章