i encounter a problem when running client to access
an ejb deployed on jboss3.0.4-tomcat4.1.12. i test the
cmr one to one relationship via xdoclet.1.2-b3.
it issues window application error dialogue: "The
instruction at '0x6d3a1bea' referenced memory at
'0x0000000c'. The memory could not be 'read'." is
there any possible may cause such kind of error, or is
it a bug for java platform. (the sdk i use is version
j2sdk1.4.1_01)?
by the way, i try to run the client code on other
people's jvm, yet it still issues such kind of
problem.
i appricate any suggestions, sincerely.
thank you very mcuh.
client code looks like
===Client====
package test.client;
import javax.ejb.*;
import javax.naming.*;
import javax.rmi.*;
import test.domain.*;
public class CmrClient{
public static void main(String args[])
throws NamingException, FinderException{
InitialContext context = new InitialContext();
Object object = context.lookup("cmr.User");
UserLocalHome userLocalHome =
(UserLocalHome)PortableRemoteObject.narrow(
object, UserLocalHome.class);
UserLocal userLocal =
userLocalHome.findByPrimaryKey(new UserPK("[EMAIL PROTECTED]"));
UserInfoLocal userInfoLocal = userLocal.getUserInfo();
System.out.println("user info:" +
userInfoLocal.getDept() +
userInfoLocal.getPhone());
}
}
===Client====
==============UserBean.java
package test.auth;
import javax.ejb.*;
import javax.naming.*;
import java.util.*;
import test.domain.*;
/**
*
* @ejb:bean type="CMP"
* cmp-version="2.x"
* name="User"
* jndi.name="cmr.User"
* view-type="local"
* @ejb:home generate="local"
* local-class="test.domain.UserLocalHome"
* @ejb:interface
* generate="local"
* local-class="test.domain.UserLocal"
* @ejb:persistence table-name="tUser"
* @ejb:finder
* signature="Collection findAll()"
* unchecked="true"
* query="select distinct Object(user) from User
user"
* result-type-mapping="Local"
* @ejb:pk
*/
public abstract class UserBean implements EntityBean{
/**
* @ejb:create-method
*/
public UserPK ejbCreate(String email, String
password)
throws CreateException{
setEmail(email);
setPassword(password);
return new UserPK(email);
}
public void ejbPostCreate(String email, String
password)
throws CreateException{ }
/**
* @ejb:pk-field
* @ejb:persistent-field
* @jboss:column-name EMAIL
* @ejb:interface-method view-type="local"
*/
public abstract String getEmail();
/**
* @ejb:persistent-field
*/
public abstract void setEmail(String email);
/**
* @ejb:persistent-field
* @jboss:column-name PASSWORd
* @ejb:interface-method view-type="local"
*/
public abstract String getPassword();
/**
* @ejb:interface-method view-type="local"
*/
public abstract void setPassword(String password);
/**
* @ejb:interface-method view-type="local"
* @ejb:transaction type="Required"
* @ejb:relation
* name="UserHasUserInfo"
* role-name="UserHasUserInfo"
* target-role-name="UserInofContainedByUser"
* @jboss:relation
* fk-column="email"
* related-pk-field="email"
*/
public abstract test.domain.UserInfoLocal
getUserInfo();
/**
* @ejb:interface-method view-type="local"
*/
public abstract void
setUserInfo(test.domain.UserInfoLocal userInfo);
public void setEntityContext(EntityContext
context){ }
public void unsetEntityContext(){ }
public void ejbRemove() throws
javax.ejb.RemoveException{ }
public void ejbLoad(){ }
public void ejbStore(){ }
public void ejbPassivate(){ }
public void ejbActivate(){ }
}
=============UserInfoBean.java
package test.auth;
import javax.ejb.*;
import javax.naming.*;
import test.domain.*;
/**
* @ejb:bean type="CMP"
* cmp-version="2.x"
* name="UserInfo"
* jndi.name="cmr.UserInfo"
* view-type="local"
* @ejb:home generate="local"
* local-class="test.domain.UserInfoLocalHome"
* @ejb:interface generate="local"
* local-class="test.domain.UserInfoLocal"
* @ejb:persistence table-name="UserInfo"
* @ejb:finder signature="test.domain.UserInfoLocal
findByEmail(java.lang.String email)"
* unchecked="true"
* query="select distinct object(userinfo) from
UserInfo userinfo where userinfo.email = ?1"
* result-type-mapping="Local"
* @ejb.pk
*/
public abstract class UserInfoBean implements
EntityBean{
/**
* @ejb:create-method
*/
public UserInfoPK ejbCreate(String name, String
email, String dept,
String phone)
throws CreateException{
setName(name);
setEmail(email);
setDept(dept);
setPhone(phone);
return new UserInfoPK(email);
}
public void ejbPostCreate(String name, String email,
String dept,
String phone)
throws CreateException{ }
/**
* @ejb:pk-field
* @ejb:persistent-field
* @jboss:column-field
* ejb:interface-method view-type="local"
*/
public abstract String getEmail();
/**
* @ejb:persistent-field
*/
public abstract void setEmail(String value);
/**
* @ejb:persistent-field
* @jboss:column-name NAME
* @ejb:interface-metod view-type="local"
*/
public abstract String getName();
/**
* @ejb:interface-method view-type="local"
*/
public abstract void setName(String name);
/**
* @ejb:persistent-field
* @jboss:column-name DEPARTMENT
* @ejb:interface-method view-type="local"
*/
public abstract String getDept();
/**
* @ejb:interface-method view-type="local"
*/
public abstract void setDept(String dept);
/**
* @ejb:persistent-field
* @jboss:column-name PHONE
* @ejb:interface-method view-type="local"
*/
public abstract String getPhone();
/**
* @ejb:interface-method view-type="local"
*/
public abstract void setPhone(String phone);
/**
* @ejb:interface-method view-type="local"
* @ejb:transaction type="Required"
* @ejb:relation
* name="UserHasUserInfo"
* role-name="UserInfoContainedByUser"
* target-role-name="UserHasUserInfo"
* cascade-delete="yes"
*/
public abstract test.domain.UserLocal getUser();
/**
* @ejb:interface-method view-type="local"
*/
public abstract void setUser(test.domain.UserLocal
user);
public void setEntityContext(EntityContext
context){ }
public void unsetEntityContext(){ }
public void ejbRemove() throws
javax.ejb.RemoveException { }
public void ejbLoad(){ }
public void ejbStore(){ }
public void ejbPassivate(){ }
}
-----------------------------------------------------------------
每天都 Yahoo!奇摩
海的顏色、風的氣息、愛你的溫度,盡在信紙底圖
http://tw.promo.yahoo.com/mail_premium/stationery.html
-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user