I'm having trouble understanding, which parts of the EJBean.properties file
registers the JNDI name for that bean. I followed the directions given in
samples.pdf, but they didn't work.
I tried deploying the beans both ways, using the deployment descriptor
ejb-jar.xml and using properties files with manifest file. If anyone has
encountered similar problems and found a solution, I would really appreciate
it if you can let me know.
TIA,
Usha
Below are excerpts of configuration files and my code.
Deploying using ejb-jar.xml:
- Here's how I defined a bean in this file:
<session>
<ejb-name>XXXHome</ejb-name>
<home>com.synapz.eclipz.ejb.XXXHome</home>
<remote>com.synapz.eclipz.ejb.XXX</remote>
<ejb-class>com.synapz.eclipz.ejb.XXXBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<env-entry>
<env-entry-name>ejipt.isCreateSilent</env-entry-name>
<env-entry-value>true</env-entry-value>
</env-entry>
</session>
- In my client code, I lookup this bean the following way:
void someMethod()
{
System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"allaire.ejipt.ContextFactory");
System.setProperty(Context.PROVIDER_URL,
"ejipt://localhost:2323");
Context ctx = getInitialContext();
Object home = ctx.lookup("XXXHome");
XXXHome xxxHome =
(XXXHome) javax.rmi.PortableRemoteObject
.narrow(home, XXXHome.class);
}
- I do not have any problem deploying my ejb jar or my client jar. However,
when I run my client code I get the following error:
javax.naming.NameNotFoundException: UserHandlerHome not found
at allaire.ejipt._NamingContext.lookup(_NamingContext.java:73)
at allaire.ejipt._ClientContext.lookup(_ClientContext.java:113)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
.........
Deploying using properties and manifest file:
- Here's how my bean.properties file looks:
ejb.beanHomeName=XXXHome
ejb.homeInterfaceClassName=com.synapz.eclipz.ejb.XXXHome
ejb.remoteInterfaceClassName=com.synapz.eclipz.ejb.XXX
ejb.enterpriseBeanClassName=com.synapz.eclipz.ejb.XXXBean
ejb.stateManagementType=stateless_session
ejb.allowedIdentities=all
ejb.runAsMode=system_identity
ejb.sessionTimeout=300
ejipt.env_entries=updateInterval
- the contents of mainifest file are:
Name: com/synapz/eclipz/ejb/UserHandler.properties
Enterprise-Bean: True
- Again I do not have any problem deploying my ejb jar or my client jar.
Now, when I run my client code I get the following error:
javax.naming.NamingException: Failed to unmarshal proxy. Root
exception is java.lang.ClassNotFoundException:
com.synapz.eclipz.ejb.XXXHomeObject_Stub (no security manager: RMI class
loader disabled)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:318)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:132)
at
sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:143)
at
java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:918)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at
java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at java.rmi.MarshalledObject.get(MarshalledObject.java:138)
at
allaire.ejipt._NamingContext$_Proxy._resolve(_NamingContext.java:362)
at allaire.ejipt._NamingContext.lookup(_NamingContext.java:68)
at allaire.ejipt._ClientContext.lookup(_ClientContext.java:113)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
.........
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at
http://www.fusionauthority.com/bkinfo.cfm
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists