I have a couple of EARs that run fine in 2.4, and I am wondering what has
changed to cause this
to happen. Environment is Win2K/3.0.0 release/JDK 1.4.0.
I have 2 EARs : sef.ear and aa.ear.
sef.ear contains an EJB - SessionManagerBean, which loads and saves objects
of type 'SessionEnv'
into a database. Both SessionManagerBean and SessionEnv exist in the same
package.
aa.ear contains unrelated code, but has a 'sef.jar' which contains a copy of
SessionEnv, so that the
SessionManagerBean is callable by that application.
SessionEnv has a protected method called setExpiryDate which is called by
SessionManagerBean.load,
which is allowed because both classes are in the same package.
A servlet inside sef.ear configures a new SessionEnv object, and calls save
on the EJB. this writes
the instance to an Oracle database.
Later on, a servlet inside aa.ear calls the SessionManagerBean EJB in order
to load the EJB. This has
always worked before. Now the instantiation appears to work correctly.
However, when the EJB
attempts to call setExpiryDate (the protected method), I get:
08:49:17,329 ERROR [LogInterceptor] TransactionRolledbackException,
causedBy:
java.lang.IllegalAccessError: try to access method
com.newton.sef.service.session.SessionEnv.setExpiryDate(Ljava/util/Date;)V
from class com.newton.se
f.service.session.SessionManagerBean
at com.newton.sef.service.session.SessionManagerBean.load(Unknown
Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles
sSessionContainer.java:664)
at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
edConnectionInterceptor.java:186)
at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe
ssionInstanceInterceptor.java:77)
at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
.java:96)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:167)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:12
9)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
a:313)
at org.jboss.ejb.Container.invoke(Container.java:705)
at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
at
org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:73
)
at
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:76)
at
org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInter
ceptor.java:111)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
...error trimmed...
Both aa.ear and sef.ear were recompiled from source and redeployed at the
same time.
Am I missing something or does anyone have any ideas as to why the JVM
thinks it shouldn't be allowed
to access the method?
_______________________________________________________________
Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user