Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Unable to redploy ejb-jar file in wls7

4 views
Skip to first unread message

John

unread,
Aug 23, 2002, 8:55:20 AM8/23/02
to

Hi, I have a simple ejb jar file hot deployed into the applications folder. This
works just fine and without any problem. However when I try to redeploy the jar
and copies a new version over the other the deployment fails with the stacktrace
below.

Can anyone help me out here?

Thanks
/John

weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Unbind of java:comp/env/ejb/OPSBean
failed ] - with nested exception:
[javax.naming.OperationNotSupportedException: unbind not allowed in a ReadOnlyContext;
remaining name 'comp/env/ejb/bloBean']
at weblogic.ejb20.internal.BaseEJBHome.unbindInJNDI(BaseEJBHome.java:245)
at weblogic.ejb20.internal.BaseEJBHome.undeploy(BaseEJBHome.java:214)
at weblogic.ejb20.internal.StatelessEJBHome.undeploy(StatelessEJBHome.java:184)
at weblogic.ejb20.deployer.EJBDeployer.deactivate(EJBDeployer.java:1695)
at weblogic.ejb20.deployer.EJBModule.doDeactivate(EJBModule.java:587)
at weblogic.ejb20.deployer.EJBModule.deactivate(EJBModule.java:436)
at weblogic.j2ee.J2EEApplicationContainer.deactivateModule(J2EEApplicationContainer.java:1554)
at weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:1059)
at weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:1029)
at weblogic.management.deploy.slave.SlaveDeployer.processRemoveOrDeactivate(SlaveDeployer.java:1248)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:1127)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:724)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
<2002-aug-23 14:35:53 CEST> <Error> <Deployer> <149233> <Unexpected error was
encountered during the deployment process.>
<2002-aug-23 14:35:53 CEST> <Error> <Deployer> <149201> <The Slave Deployer failed
to complete the deployment task with id 5 for the application _appsdir_ops-ejb_jar.
javax.naming.OperationNotSupportedException: unbind not allowed in a ReadOnlyContext;
remaining name 'comp/env/ejb/bloBean'
at weblogic.jndi.factories.java.ReadOnlyContextWrapper.newOperationNotSupportedException(ReadOnlyContextWrapper.java:136)
at weblogic.jndi.factories.java.ReadOnlyContextWrapper.newOperationNotSupportedException(ReadOnlyContextWrapper.java:152)
at weblogic.jndi.factories.java.ReadOnlyContextWrapper.unbind(ReadOnlyContextWrapper.java:60)
at weblogic.jndi.internal.AbstractURLContext.unbind(AbstractURLContext.java:171)
at javax.naming.InitialContext.unbind(InitialContext.java:371)
at weblogic.ejb20.internal.BaseEJBHome.unbindInJNDI(BaseEJBHome.java:243)
at weblogic.ejb20.internal.BaseEJBHome.undeploy(BaseEJBHome.java:214)
at weblogic.ejb20.internal.StatelessEJBHome.undeploy(StatelessEJBHome.java:184)
at weblogic.ejb20.deployer.EJBDeployer.deactivate(EJBDeployer.java:1695)
at weblogic.ejb20.deployer.EJBModule.doDeactivate(EJBModule.java:587)
at weblogic.ejb20.deployer.EJBModule.deactivate(EJBModule.java:436)
at weblogic.j2ee.J2EEApplicationContainer.deactivateModule(J2EEApplicationContainer.java:1554)
at weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:1059)
at weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:1029)
at weblogic.management.deploy.slave.SlaveDeployer.processRemoveOrDeactivate(SlaveDeployer.java:1248)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:1127)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:724)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)

Rob Woollen

unread,
Aug 23, 2002, 2:18:09 PM8/23/02
to
That's definitely a bug. I'd suggest opening a case with sup...@bea.com

Can you tell me some more about your configuration. Did you specify a
global JNDI name in your weblogic-ejb-jar.xml (ie with a jndi-name or
local-jndi-name tag). If so, did you specify java:comp/env/ejb/OPSBean?

My guess is that you specified an app-scoped JNDI name in the global
JNDI tree, and that's why the unbind fails. If so, if you change the
jndi-name to be a regular string (like OPSBean), it shoudl work fine.

-- Rob

Rajesh Mirchandani

unread,
Aug 23, 2002, 3:09:01 PM8/23/02
to
Can you please post the jar file ?

Rob Woollen wrote:

--
Rajesh Mirchandani
Developer Relations Engineer
BEA Support


Rob Woollen

unread,
Aug 26, 2002, 1:55:27 AM8/26/02
to
Yes, the java:comp/env namespace is a bit odd (IMO). Basically each
component gets its own view of comp/env. So if ejb-1 looks up
java:comp/ejb/Foo that doesn't have to resolve to same object as ejb-2
looking up java:/comp/env/Foo.

It's just a layer of indirection. You write code that looks up
java:/comp/env/ejb/FooEJB and the deployer can map this to a concrete
EJB without changing your code.

There's 3 choices in WLS:

1) Specify a global JNDI name in the weblogic-ejb-jar.xml (ie "Foo").
Have your client lookup this name.

2) Specify a global JNDI name, and have the caller use either an ejb-ref
or an ejb-link to link to your globabl JNDI name

3) Don't specify a global JNDI name. THe bean is only accessible via
ejb-links.

-- Rob

John wrote:
> My previous message got a bit blurry for some reason, so I'm reposting it here:
>
> Well, it seems like Rob is into something there. When I changed the JNDI-name
> tojust a regular string, it worked just fine.
>
> I constructed a very simple jar filewith just a single ejb in it. Try it out and
> please let me know how you progress...
>
> /John
>
> (You can also reach me at joha...@yahoo.com)

0 new messages