geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Schulze Frielinghaus <ste...@sf-net.com>
Subject deploy and undeploy a gbean
Date Fri, 24 Aug 2007 18:13:40 GMT
Hello,

I'm trying to write a GBean which dynamically deploys and undeploys
other GBeans. My first thought about this task was to get a list of
all running modules from which I could decide which to undeploy.

String uri = "deployer:geronimo:inVM";
String username = "system";
String password = "manager";
		
dManager = dFactoryMgr.getDeploymentManager(uri, username, password);

System.out.println("Targets:");
Target[] targets = dManager.getTargets();		
for(Target t : targets) {
	System.out.println(t);
}

System.out.println("Modules:");
TargetModuleID[] moduleIDs = dManager.getRunningModules(null, targets);
			
for(TargetModuleID m : moduleIDs) {
	System.out.println(m);
}

With the code above I tried to accomplish my goal. But if I run this
one I get the following exception:

14:38:55,100 ERROR [BaseDeploymentFactory]
org.apache.geronimo.web.deployment.WARConfigurer
java.lang.ClassCastException:
org.apache.geronimo.web.deployment.WARConfigurer
          at
org.apache.geronimo.deployment.plugin.jmx.LocalDeploymentManager.loadMod
uleConfigurers(LocalDeploymentManager.java:51)
          at
org.apache.geronimo.deployment.plugin.jmx.LocalDeploymentManager.<init>(
LocalDeploymentManager.java:41)
          at
org.apache.geronimo.deployment.plugin.factories.BaseDeploymentFactory.ge
tDeploymentManager(BaseDeploymentFactory.java:133)
          at
javax.enterprise.deploy.shared.factories.DeploymentFactoryManager.getDep
loymentManager(DeploymentFactoryManager.java:109)
          at
de.furtwangen.hs.informatik.geronimo.ac.MigrationService.test
(MigrationService.java:37)
          at
de.furtwangen.hs.informatik.geronimo.ac.AutonomicGeronimoGBean.testMigra
tion(AutonomicGeronimoGBean.java:202)
          at
de.furtwangen.hs.informatik.geronimo.ac.AutonomicGeronimoGBean$
$FastClassByCGLIB$$78735f6f.invoke(<generated>)
          at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
          at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker.java:38)
          at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
(GBeanOperation.java:127)
          at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
(GBeanInstance.java:863)
          at org.apache.geronimo.kernel.basic.BasicKernel.invoke
(BasicKernel.java:239)
          at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke
(MBeanGBeanBridge.java:168)
          at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke
(DynamicMetaDataImpl.java:213)
          at com.sun.jmx.mbeanserver.MetaDataImpl.invoke
(MetaDataImpl.java:220)
          at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke
(DefaultMBeanServerInterceptor.java:815)
          at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke
(JmxMBeanServer.java:784)
          at javax.management.remote.rmi.RMIConnectionImpl.doOperation
(RMIConnectionImpl.java:1408)
          at javax.management.remote.rmi.RMIConnectionImpl.access$100
(RMIConnectionImpl.java:81)
          at javax.management.remote.rmi.RMIConnectionImpl
$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
          at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation
(RMIConnectionImpl.java:1341)
          at javax.management.remote.rmi.RMIConnectionImpl.invoke
(RMIConnectionImpl.java:782)
          at sun.reflect.GeneratedMethodAccessor187.invoke(Unknown
Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:585)
          at sun.rmi.server.UnicastServerRef.dispatch
(UnicastServerRef.java:294)
          at sun.rmi.transport.Transport$1.run(Transport.java:153)
          at java.security.AccessController.doPrivileged(Native Method)
          at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
          at sun.rmi.transport.tcp.TCPTransport.handleMessages
(TCPTransport.java:466)
          at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run
(TCPTransport.java:707)
          at java.lang.Thread.run(Thread.java:613)

Is there another way to deploy/undeploy GBeans via another GBean?

I even tried it with another URI (String uri =
"deployer:geronimo:jmx:rmi://localhost/jndi/rmi:/JMXConnector";) but
with that I still got a worse result.

javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationExceptio
n: Failed to retrieve RMIServer stub:
javax.naming.NoInitialContextException: Cannot instantiate class:
org.apache.xbean.naming.global.GlobalContextManager [Root exception
is java.lang.ClassNotFoundException:
org.apache.xbean.naming.global.GlobalContextManager]
          at
org.apache.geronimo.deployment.plugin.factories.BaseDeploymentFactory.ne
wRemoteDeploymentManager(BaseDeploymentFactory.java:167)
          at
org.apache.geronimo.deployment.plugin.factories.BaseDeploymentFactory.ge
tDeploymentManager(BaseDeploymentFactory.java:131)
          at
javax.enterprise.deploy.shared.factories.DeploymentFactoryManager.getDep
loymentManager(DeploymentFactoryManager.java:109)
          at
de.furtwangen.hs.informatik.geronimo.ac.MigrationService.test
(MigrationService.java:37)
          at
de.furtwangen.hs.informatik.geronimo.ac.AutonomicGeronimoGBean.testMigra
tion(AutonomicGeronimoGBean.java:202)
          at
de.furtwangen.hs.informatik.geronimo.ac.AutonomicGeronimoGBean$
$FastClassByCGLIB$$78735f6f.invoke(<generated>)
          at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
          at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker.java:38)
          at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
(GBeanOperation.java:127)
          at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
(GBeanInstance.java:863)
          at org.apache.geronimo.kernel.basic.BasicKernel.invoke
(BasicKernel.java:239)
          at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke
(MBeanGBeanBridge.java:168)
          at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke
(DynamicMetaDataImpl.java:213)
          at com.sun.jmx.mbeanserver.MetaDataImpl.invoke
(MetaDataImpl.java:220)
          at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke
(DefaultMBeanServerInterceptor.java:815)
          at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke
(JmxMBeanServer.java:784)
          at javax.management.remote.rmi.RMIConnectionImpl.doOperation
(RMIConnectionImpl.java:1408)
          at javax.management.remote.rmi.RMIConnectionImpl.access$100
(RMIConnectionImpl.java:81)
          at javax.management.remote.rmi.RMIConnectionImpl
$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
          at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation
(RMIConnectionImpl.java:1341)
          at javax.management.remote.rmi.RMIConnectionImpl.invoke
(RMIConnectionImpl.java:782)
          at sun.reflect.GeneratedMethodAccessor187.invoke(Unknown
Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:585)
          at sun.rmi.server.UnicastServerRef.dispatch
(UnicastServerRef.java:294)
          at sun.rmi.transport.Transport$1.run(Transport.java:153)
          at java.security.AccessController.doPrivileged(Native Method)
          at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
          at sun.rmi.transport.tcp.TCPTransport.handleMessages
(TCPTransport.java:466)
          at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run
(TCPTransport.java:707)
          at java.lang.Thread.run(Thread.java:613)
Caused by: java.io.IOException: Failed to retrieve RMIServer stub:
javax.naming.NoInitialContextException: Cannot instantiate class:
org.apache.xbean.naming.global.GlobalContextManager [Root exception
is java.lang.ClassNotFoundException:
org.apache.xbean.naming.global.GlobalContextManager]
          at javax.management.remote.rmi.RMIConnector.connect
(RMIConnector.java:317)
          at javax.management.remote.JMXConnectorFactory.connect
(JMXConnectorFactory.java:248)
          at
org.apache.geronimo.deployment.plugin.factories.BaseDeploymentFactory.ne
wRemoteDeploymentManager(BaseDeploymentFactory.java:159)
          ... 30 more
Caused by: javax.naming.NoInitialContextException: Cannot instantiate
class: org.apache.xbean.naming.global.GlobalContextManager [Root
exception is java.lang.ClassNotFoundException:
org.apache.xbean.naming.global.GlobalContextManager]
          at javax.naming.spi.NamingManager.getInitialContext
(NamingManager.java:657)
          at javax.naming.InitialContext.getDefaultInitCtx
(InitialContext.java:247)
          at javax.naming.InitialContext.init(InitialContext.java:223)
          at javax.naming.InitialContext.<init>(InitialContext.java:197)
          at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI
(RMIConnector.java:1815)
          at javax.management.remote.rmi.RMIConnector.findRMIServer
(RMIConnector.java:1787)
          at javax.management.remote.rmi.RMIConnector.connect
(RMIConnector.java:259)
          ... 32 more
Caused by: java.lang.ClassNotFoundException:
org.apache.xbean.naming.global.GlobalContextManager
          at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
268)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
          at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
319)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:242)
          at com.sun.naming.internal.VersionHelper12.loadClass
(VersionHelper12.java:42)
          at javax.naming.spi.NamingManager.getInitialContext
(NamingManager.java:654)
          ... 38 more

Since I've the package org.apache.xbean.naming in my classpath I
don't no why geronimo can't instantiate a class of them.

So has anyone an idea how to solve a deply/undeploy task?

Best regards,
Stefan

PS: I miss opened this thread at dev@geronimo.apache.org and "closed"  
it. Sorry for the inconvenience.

Mime
View raw message