On Apr 15, 2008, at 8:14 AM, David Jencks wrote:
I don't think the ejb-link will work in this situation. I think it
worked in g 1.x and openejb 2.x but from some comments I think I
remember from david blevins I think the ejb-links only work within
an ear with g 2.x/openejb 3.x.
They work, you just need to configure your ejb-ref with a name pattern
in your geronimo-application-client.xml plan.
<application-client xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0
">
...
<ejb-ref>
<ref-name>ejb/Converter</ref-name>
<nam:pattern xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2
">
<nam:artifactId>theIdOfYourEjbJar</nam:artifactId>
<nam:name>TheConverterEjbName</nam:name>
</nam:pattern>
</ejb-ref>
</application-client>
-David
It's also likely that the dependency you include on the ear will
result in the app client container attempting to start the ear
inside the app client container, which is probably not what you
want. We used to have client-environment and server-environment
elements so you could indicate where you wanted the dependency but
I'm not sure what happened to them.
thanks
david jencks
On Apr 15, 2008, at 3:59 AM, Phani Madgula wrote:
Hi I am trying to deploy a JEE application client as follows.
application-client.xml
<?xml version="1.0" encoding="UTF-8"?>
<application-client xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/application-client_5.xsd"
version="5">
<ejb-ref>
<ejb-ref-name>ejb/Converter</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<remote>examples.appclient.Converter</remote>
</ejb-ref>
</application-client>
geronimo-application-client.xml
<?xml version="1.0" encoding="UTF-8"?>
<application-client xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0
"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2">
<sys:environment>
<sys:moduleId>
<sys:groupId>Converter</sys:groupId>
<sys:artifactId>Converter-app-client</sys:artifactId>
<sys:version>3.0</sys:version>
<sys:type>jar</sys:type>
</sys:moduleId>
<sys:dependencies>
<sys:dependency>
<sys:groupId>Converter</sys:groupId>
<sys:artifactId>ConverterEAR</sys:artifactId>
<sys:version>5.0</sys:version>
<sys:type>car</sys:type>
</sys:dependency>
</sys:dependencies>
</sys:environment>
<ejb-ref>
<ejb-ref-name>ejb/Converter</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<remote>examples.appclient.Converter</remote>
<ejb-link>ConverterBean</ejb-link>
</ejb-ref>
</application-client>
The above application client declares a dependency on Converter/
ConverterEAR/5.0/car where the ConverterBean is deployed. When I
package the above files along with the client file and deploy on
the Geronimo2.1 server, the server throws the following error.
Please note that I am deploying the JEE client separately from the
main EAR file.
______________________________________________________________________________________________________
C:\Geronimo-2.1\bin>deploy.bat --user system --password manager
deploy C:\temp\ConverterEJBClient.jar
Using GERONIMO_BASE: C:\Geronimo-2.1
Using GERONIMO_HOME: C:\Geronimo-2.1
Using GERONIMO_TMPDIR: var\temp
Using JRE_HOME: C:\May-31-2007\jre
Error: Unable to distribute ConverterEJBClient.jar: Cannot deploy
the requested application module because no deployer is able to
handle it. This can happen if you have omitted the J2EE
deployment
descriptor, disabled a deployer module, or if, for example, you
are
trying to deploy an EJB module on a minimal Geronimo server that
does not have EJB support installed.
(moduleFile=C:\Geronimo-2.1\var\temp\geronimo-
deployer32414.tmpdir\ConverterEJBClient.jar)
______________________________________________________________________________________________________
May I know what I am missing here??
Thanks
Phani B Madgula