I broke all my <ejb-relation> so that it contains just single
<ejb-relationship-role> (except for many-to-many relationship) and now
it deploys, thanks.
Anyway, when I access tapestry page that references ejb local interface
there is an exception -- see below -- which does not occur on M5
release. I retried to deploy new openejb-jar.xml on M5 but that has no
effect - it still run fine there.
Both war and EJB jar are part of the same ear application.
The exception is reported by tapestry - I was not able to configure
logging on geronimo to get more detailed info:
org.apache.hivemind.ApplicationRuntimeException
Unable to read OGNL expression '<parsed OGNL expression>' of
[EMAIL PROTECTED]/OrganizationHome]: allUnits
component: [EMAIL PROTECTED]/OrganizationHome]
location: context:/organization/OrganizationHome.html
ognl.OgnlException
allUnits
java.lang.NoClassDefFoundError <-------------
Stack Trace:
*
sk.moolab.coordinator.pages.organization.OrganizationHome.getUnitHome(OrganizationHome.java:76)
*
sk.moolab.coordinator.pages.organization.OrganizationHome.getAllUnits(OrganizationHome.java:49)
* sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
*
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
*
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
* java.lang.reflect.Method.invoke(Method.java:585)
* ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
* ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:904)
*
ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
*
ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
OrganizationHome.java (tapestry page component) around line 76 -- the
reference seems to be O.K., the code works fine on M5 release:
private UnitLocalHome getUnitHome()
throws NamingException, FinderException, Exception {
try {
InitialContext aContext = new InitialContext();
Object aReference =
aContext.lookup("java:comp/env/ejb/UnitLocalHome");
UnitLocalHome aHome = (UnitLocalHome)
PortableRemoteObject.narrow(aReference, UnitLocalHome.class);
return aHome;
} catch (Exception anException) {
log.warn("Cannot create a UnitHome", anException);
throw anException;
}
}
---------------------------------------
Aaron Mulder
Fri, 27 Jan 2006 07:42:50 -0800
When you have a one-to-many relationship, you only need mapping
information for one ejb-relationship-role in your openejb-jar.xml.
I'm not sure if that's causing the problem, but can you remove one of
the two and try that? See example 12.8 at
http://chariotsolutions.com/geronimo/ejb-structure.html#id2612837
Thanks,
Aaron
On 1/27/06, Milan Unger <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I'm trying to deploy ear application with EJBs on Geronimo-1.0. The same
> application deploys without a problem on Geronimo-1.0M5. After
> transforming dependency format and parentIds for Geronimo 1.0 release I
> still got following error from the deployer:
>
> Target TransactionBean does not have foreign key attribute
> transactionid.
>
> Bellow are some snippets from openejb-jar.xml. Do you know a reason for
> this problem?
>
> Regards, Milan.