geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: deploy and undeploy a gbean
Date Fri, 24 Aug 2007 20:38:33 GMT
Could you describe how you want to use this a bit?  There's already  
the ServiceConfigBuilder which converts xml gbean plans to  
Configurations and the whole Configuration framework which do this.   
Also you can register custom NamespaceDrivenBuilders to process  
documents in other xml schemas into gbean configurations.  So I  
wonder if what you want to do is already possible...

Without knowing what you are aiming for its very hard to give you any  
advice.

thanks
david jencks
On Aug 24, 2007, at 11:13 AM, Stefan Schulze Frielinghaus wrote:

> 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.loadM 
> od
> 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.getD 
> ep
> loymentManager(DeploymentFactoryManager.java:109)
>          at
> de.furtwangen.hs.informatik.geronimo.ac.MigrationService.test
> (MigrationService.java:37)
>          at
> de.furtwangen.hs.informatik.geronimo.ac.AutonomicGeronimoGBean.testMig 
> ra
> 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.DeploymentManagerCreationExcept 
> io
> 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.getD 
> ep
> loymentManager(DeploymentFactoryManager.java:109)
>          at
> de.furtwangen.hs.informatik.geronimo.ac.MigrationService.test
> (MigrationService.java:37)
>          at
> de.furtwangen.hs.informatik.geronimo.ac.AutonomicGeronimoGBean.testMig 
> ra
> 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