You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Michele La Porta <mi...@gmail.com> on 2005/09/22 16:29:00 UTC
geronimo + spring
I'm working around to find out how to deploy a simple spring
application on geronimo. I take a look on geronimo modules
spring-geronimo and geronimo-spring-builder, read something on forum
and I try start to create a simple springappl.spr( a jar + manifest
with classpath + spring.xml) running on Geronimo-1.0-M4 from Eclipse
start a minimal geronimo configuration and start the module
SpringDeployer..seeems to work if I use class from archive but when I
build archive springjms-0.1.spr in which i put :
META-INF/
META-INF/MANIFEST.MF
Code:
(
Class-Path: geronimo-spec-jms-1.1-rc4.jar geronimo-kernel-1.0-M4.jar
geronimo-transaction-1.0-M4.jar commons-logging-1.0.4.jar concurrent-
1.3.4.jar mx4j-3.0.1.jar cglib-nodep-2.1.jar spring-1.1.3.jar activem
q-core-3.1-M5.jar
)
META-INF/bootstrap.properties
Code:
(
jms.connectionFactoryName=ConnectionFactory
jms.jndiProviderUrl=tcp://localhost:61616
jms.jndiContextFactory=org.activemq.jndi.ActiveMQInitialContextFactory
jms.weatherTopic=weatherTopic
jms.weatherRequestsTopic=weatherRequestsTopic
)
META-INF/spring.xml
Code:
(
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="placeholderConfig"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:/bootstrap.properties</value>
</property>
</bean>
<bean id="jndiTemplate"
class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">
${jms.jndiContextFactory}
</prop>
<!-- Specific to ActiveMQ -->
<!-- the address of the ActiveMQ broker -->
<prop
key="brokerURL">${jms.jndiProviderUrl}</prop>
<!-- Some Topics Registration, since
we are using a fake JNDI implementation
<prop key="topic.${jms.weatherTopic}">
${jms.weatherTopic}
</prop>
<prop key="topic.${jms.weatherRequestsTopic}">
${jms.weatherRequestsTopic}
</prop>-->
</props>
</property>
</bean>
</beans>
)
SpringJmsTemplate.class
Code:
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.springframework.jms.core.JmsTemplate;
public class SpringJmsTemplate implements Runnable{
private JmsTemplate jmsTemplate;
public SpringJmsTemplate() {
}
public void run() {
boolean loop=true;
while(loop){
try {
jmsTemplate.receive();
} catch (Exception e) {
e.printStackTrace();
loop = false;
}
}
}
public static final GBeanInfo GBEAN_INFO;
static {
GBeanInfoBuilder infoFactory = new
GBeanInfoBuilder(SpringJmsTemplate.class, "SpringJmsTemplate");
// infoFactory.addAttribute("kernel", Kernel.class, false);
// infoFactory.addAttribute("objectName", String.class, false);
infoFactory.setConstructor(new String[]{});
GBEAN_INFO = infoFactory.getBeanInfo();
}
public static GBeanInfo getGBeanInfo() {
return GBEAN_INFO;
}
public JmsTemplate getJmsTemplate() {
return jmsTemplate;
}
public void setJmsTemplate(JmsTemplate jmsTemplate) {
this.jmsTemplate = jmsTemplate;
}
}
spring-jms-plan.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<configuration
xmlns="http://geronimo.apache.org/xml/ns/deployment"
configId="deployment/SpringJmsTemplate"
>
<dependency>
<!--
<groupId>geronimo-spec</groupId>
<artifactId>geronimo-spec-jms</artifactId>
<version>1.1-rc4</version>
-->
<uri>geronimo-spec/jars/geronimo-spec-jms-1.1-rc4.jar</uri>
</dependency>
<dependency>
<!--
<groupId>geronimo</groupId>
<artifactId>geronimo-kernel</artifactId>
<version>1.0-M4</version>
-->
<uri>geronimo/jars/geronimo-kernel-1.0-M4.jar</uri>
</dependency>
<dependency>
<!--
<groupId>geronimo</groupId>
<artifactId>geronimo-transaction</artifactId>
<version>1.0-M4</version>
-->
<uri>geronimo/jars/geronimo-transaction-1.0-M4.jar</uri>
</dependency>
<!-- Thirdparty Dependencies -->
<dependency>
<!--
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.3</version>
-->
<uri>commons-logging/jars/commons-logging-1.0.3.jar</uri>
</dependency>
<dependency>
<!--
<groupId>concurrent</groupId>
<artifactId>concurrent</artifactId>
<version>1.3.4</version>
-->
<uri>concurrent/jars/concurrent-1.3.4.jar</uri>
</dependency>
<dependency>
<!--
<groupId>mx4j</groupId>
<artifactId>mx4j</artifactId>
<version>3.0.1</version>
-->
<uri>mx4j/jars/mx4j-3.0.1.jar</uri>
</dependency>
<dependency>
<!--
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.1</version>
-->
<uri>cglib/jars/cglib-nodep-2.1.jar</uri>
</dependency>
<dependency>
<!--
<id>springframework</id>
<artifactId>spring</artifactId>
<version>1.1.3</version>
-->
<uri>springframework/jars/spring-1.1.3.jar</uri>
</dependency>
<!--
<dependency>
<id>activemq</id>
<artifactId>activemq-gbean</artifactId>
<version>3.1-M5</version>
</dependency>
-->
<dependency>
<!--
<id>activemq</id>
<artifactId>activemq-core</artifactId>
<version>3.1-M5</version>
-->
<uri>activemq/jars/activemq-core-3.1-M5.jar</uri>
</dependency>
<gbean name="SpringJmsTemplate"
class="SpringJmsTemplate" >
</gbean>
</configuration>
error from console
11:09:29,701 INFO [SPRConfigBuilder] Planning:
c:\temp\deployer6526.tmpdir\springjms-0.1.spr
11:09:29,701 INFO [SPRConfigBuilder] getDeploymentPlan : planFile ->
C:\geronimo-1.0-M4\modules\assembly\target\geronimo-1.0-M4\spring-jms-plan.xml
sprFilec:\temp\deployer6526.tmpdir\springjms-0.1.spr
11:09:29,701 INFO [SPRConfigBuilder] Building:
c:\temp\deployer6526.tmpdir\springjms-0.1.spr
11:09:29,826 INFO [LocalConfigStore:config-store] Installed
configuration file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr
in location 20
11:09:29,873 INFO [LocalConfigStore:config-store] Loaded
Configuration geronimo.config:name="file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr"
11:09:29,888 DEBUG [GBeanInstanceState] GBeanInstanceState for:
geronimo.config:name="file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr"
State changed from stopped to starting
11:09:29,888 DEBUG [Configuration] ClassPath for
file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr resolved to
[]
11:09:29,888 INFO [Configuration] Started configuration
file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr
11:09:29,888 DEBUG [GBeanInstanceState] GBeanInstanceState for:
geronimo.config:name="file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr"
State changed from starting to running
11:09:29,951 INFO [PersistentConfigurationList] Saved running
configuration list
11:09:29,951 DEBUG [GBeanInstanceState] GBeanInstanceState for:
geronimo.config:name=spring-jms-plan.xml State changed from stopped to
starting
11:09:29,951 DEBUG [GBeanInstanceState] GBeanInstanceState for:
geronimo.config:name=spring-jms-plan.xml State changed from starting
to running
11:09:30,013 INFO [PersistentConfigurationList] Saved running
configuration list
11:09:30,013 DEBUG [GBeanInstanceState] GBeanInstanceState for:
geronimo.server:name=spring-jms-plan.xml,J2EEServer=geronimo,J2EEApplication=null,j2eeType=SpringModule
State changed from stopped to starting
11:09:30,013 INFO [SpringGBean] _classPath[0]:
file:/C:/geronimo-1.0-M4/modules/assembly/target/geronimo-1.0-M4/config-store/20/
11:09:30,076 INFO [XmlBeanDefinitionReader] Loading XML bean
definitions from class path resource [META-INF/spring.xml]
11:09:30,076 DEBUG [XmlBeanDefinitionReader] Using JAXP implementation
[org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@15bd8f]
11:09:30,732 DEBUG [BeansDtdResolver] Trying to resolve XML entity
with public ID [-//SPRING//DTD BEAN//EN] and system ID
[http://www.springframework.org/dtd/spring-beans.dtd]
11:09:30,732 DEBUG [BeansDtdResolver] Trying to locate
[spring-beans.dtd] under [/org/springframework/beans/factory/xml/]
11:09:30,732 DEBUG [BeansDtdResolver] Found beans DTD
[http://www.springframework.org/dtd/spring-beans.dtd] in classpath
11:09:30,795 DEBUG [DefaultXmlBeanDefinitionParser] Loading bean definitions
11:09:30,810 DEBUG [DefaultXmlBeanDefinitionParser] Default lazy init 'false'
11:09:30,810 DEBUG [DefaultXmlBeanDefinitionParser] Default
dependency check 'none'
11:09:30,810 DEBUG [DefaultXmlBeanDefinitionParser] Default autowire 'no'
11:09:30,857 DEBUG [DefaultXmlBeanDefinitionParser] Found 2 <bean>
elements defining beans
11:09:30,857 INFO [SpringGBean$GeronimoBeanFactory] Creating shared
instance of singleton bean 'jndiTemplate'
11:09:30,857 DEBUG [SpringGBean$GeronimoBeanFactory] Creating instance
of bean 'jndiTemplate' with merged definition [Root bean with class
[org.springframework.jndi.JndiTemplate] defined in class path resource
[META-INF/spring.xml]]
11:09:30,920 DEBUG [CachedIntrospectionResults] Getting BeanInfo for
class [org.springframework.jndi.JndiTemplate]
11:09:30,920 DEBUG [CachedIntrospectionResults] Caching
PropertyDescriptors for class [org.springframework.jndi.JndiTemplate]
11:09:30,920 DEBUG [CachedIntrospectionResults] Found property
'class' of type [java.lang.Class]
11:09:30,920 DEBUG [CachedIntrospectionResults] Found property
'environment' of type [java.util.Properties]
11:09:30,920 DEBUG [CachedIntrospectionResults] Class
[org.springframework.jndi.JndiTemplate] is cache-safe
11:09:30,920 DEBUG [BeanWrapperImpl] About to invoke write method
[public void org.springframework.jndi.JndiTemplate.setEnvironment(java.util.Properties)]
on object of class [org.springframework.jndi.JndiTemplate]
11:09:30,920 DEBUG [BeanWrapperImpl] Invoked write method [public void
org.springframework.jndi.JndiTemplate.setEnvironment(java.util.Properties)]
with value of type [java.util.Properties]
11:09:30,920 DEBUG [SpringGBean$GeronimoBeanFactory] Invoking
BeanPostProcessors before initialization of bean 'jndiTemplate'
11:09:30,920 DEBUG [SpringGBean$GeronimoBeanFactory] Invoking
BeanPostProcessors after initialization of bean 'jndiTemplate'
11:09:30,951 INFO [SpringGBean$GeronimoBeanFactory] Destroying
singletons in factory
{org.apache.geronimo.spring.SpringGBean$GeronimoBeanFactory defining
beans [placeholderConfig,jndiTemplate]; root of BeanFactory hierarchy}
11:09:30,951 INFO [SpringGBean$GeronimoBeanFactory] Destroying inner
beans in factory
{org.apache.geronimo.spring.SpringGBean$GeronimoBeanFactory defining
beans [placeholderConfig,jndiTemplate]; root of BeanFactory hierarchy}
11:09:30,951 ERROR [GBeanInstanceState] Error while starting; GBean
is now in the FAILED state:
objectName="geronimo.server:name=spring-jms-plan.xml,J2EEServer=geronimo,J2EEApplication=null,j2eeType=SpringModule"
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'jndiTemplate' defined in class path resource
[META-INF/spring.xml]: Initialization of bean failed; nested exception
is java.lang.NoClassDefFoundError:
org/springframework/jndi/JndiCallback
java.lang.NoClassDefFoundError: org/springframework/jndi/JndiCallback
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetPublicMethods(Unknown Source)
at java.lang.Class.getMethods(Unknown Source)
at sun.misc.ProxyGenerator.generateClassFile(Unknown Source)
at sun.misc.ProxyGenerator.generateProxyClass(Unknown Source)
at java.lang.reflect.Proxy.getProxyClass(Unknown Source)
at org.apache.geronimo.spring.SpringGBean.createProxyClass(SpringGBean.java:373)
at org.apache.geronimo.spring.SpringGBean.createPOJOGBeanData(SpringGBean.java:322)
at org.apache.geronimo.spring.SpringGBean.afterInitialization(SpringGBean.java:258)
at org.apache.geronimo.spring.SpringGBean$1.postProcessAfterInitialization(SpringGBean.java:160)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:202)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:306)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:236)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:159)
at org.apache.geronimo.spring.SpringGBean.doStart(SpringGBean.java:168)
at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:850)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:328)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:111)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:133)
at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:503)
at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:205)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:141)
at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:503)
at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:205)
at org.apache.geronimo.kernel.KernelGBean.startRecursiveGBean(KernelGBean.java:72)
at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:3
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:754)
at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:175)
at org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown
Source)
at javax.management.remote.rmi.RMIConnectionImpl.access$100(Unknown
Source)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown
Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown
Source)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown
Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
11:09:30,951 DEBUG [GBeanInstanceState] GBeanInstanceState for:
geronimo.server:name=spring-jms-plan.xml,J2EEServer=geronimo,J2EEApplication=null,j2eeType=SpringModule
State changed from starting to failed
11:12:57,680 DEBUG [JDBCPersistenceAdapter] Cleaning up old messages.
11:12:57,680 DEBUG [JDBCPersistenceAdapter] Cleanup done.
11:12:58,242 DEBUG [JournalPersistenceAdapter] Checkpoint started.
11:12:58,242 DEBUG [JournalPersistenceAdapter] Checkpoint done.
Any idea?
Re: geronimo + spring
Posted by Aaron Mulder <am...@alumni.princeton.edu>.
So it looks like the problem is that someting is unable to access the
class org.springframework.jndi.JndiCallback. It looks like that's one
of the core Spring classes, in spring-x.y.z.jar. It looks like the
specific problem is that SpringGBean.getProxyClass is not passing a
ClassLoader with access to the Spring library to the Proxy factory.
I'm not totally sure what's happening in the SpringGBean code and
whether there's something you can configure to work around this. I
guess we need to look at that class in more detail. Does anyone know
more about it?
Aaron
On 9/22/05, Michele La Porta <mi...@gmail.com> wrote:
> I'm working around to find out how to deploy a simple spring
> application on geronimo. I take a look on geronimo modules
> spring-geronimo and geronimo-spring-builder, read something on forum
> and I try start to create a simple springappl.spr( a jar + manifest
> with classpath + spring.xml) running on Geronimo-1.0-M4 from Eclipse
> start a minimal geronimo configuration and start the module
> SpringDeployer..seeems to work if I use class from archive but when I
> build archive springjms-0.1.spr in which i put :
>
> META-INF/
>
> META-INF/MANIFEST.MF
>
> Code:
>
> (
> Class-Path: geronimo-spec-jms-1.1-rc4.jar geronimo-kernel-1.0-M4.jar
> geronimo-transaction-1.0-M4.jar commons-logging-1.0.4.jar concurrent-
> 1.3.4.jar mx4j-3.0.1.jar cglib-nodep-2.1.jar spring-1.1.3.jar activem
> q-core-3.1-M5.jar
> )
>
> META-INF/bootstrap.properties
>
> Code:
>
> (
> jms.connectionFactoryName=ConnectionFactory
> jms.jndiProviderUrl=tcp://localhost:61616
> jms.jndiContextFactory=org.activemq.jndi.ActiveMQInitialContextFactory
> jms.weatherTopic=weatherTopic
> jms.weatherRequestsTopic=weatherRequestsTopic
> )
>
> META-INF/spring.xml
>
> Code:
>
> (
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
> "http://www.springframework.org/dtd/spring-beans.dtd">
>
> <beans>
>
> <bean id="placeholderConfig"
>
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
> <property name="location">
> <value>classpath:/bootstrap.properties</value>
> </property>
> </bean>
>
> <bean id="jndiTemplate"
> class="org.springframework.jndi.JndiTemplate">
> <property name="environment">
> <props>
> <prop key="java.naming.factory.initial">
> ${jms.jndiContextFactory}
> </prop>
>
> <!-- Specific to ActiveMQ -->
>
> <!-- the address of the ActiveMQ broker -->
> <prop
> key="brokerURL">${jms.jndiProviderUrl}</prop>
> <!-- Some Topics Registration, since
> we are using a fake JNDI implementation
> <prop key="topic.${jms.weatherTopic}">
> ${jms.weatherTopic}
> </prop>
> <prop key="topic.${jms.weatherRequestsTopic}">
> ${jms.weatherRequestsTopic}
> </prop>-->
> </props>
> </property>
> </bean>
> </beans>
> )
>
> SpringJmsTemplate.class
>
> Code:
>
> import org.apache.geronimo.gbean.GBeanInfo;
> import org.apache.geronimo.gbean.GBeanInfoBuilder;
> import org.springframework.jms.core.JmsTemplate;
>
> public class SpringJmsTemplate implements Runnable{
>
> private JmsTemplate jmsTemplate;
>
> public SpringJmsTemplate() {
> }
>
> public void run() {
> boolean loop=true;
> while(loop){
> try {
> jmsTemplate.receive();
> } catch (Exception e) {
> e.printStackTrace();
> loop = false;
> }
> }
>
> }
> public static final GBeanInfo GBEAN_INFO;
>
> static {
> GBeanInfoBuilder infoFactory = new
> GBeanInfoBuilder(SpringJmsTemplate.class, "SpringJmsTemplate");
>
> // infoFactory.addAttribute("kernel", Kernel.class, false);
> // infoFactory.addAttribute("objectName", String.class, false);
>
> infoFactory.setConstructor(new String[]{});
>
> GBEAN_INFO = infoFactory.getBeanInfo();
> }
>
> public static GBeanInfo getGBeanInfo() {
> return GBEAN_INFO;
> }
>
> public JmsTemplate getJmsTemplate() {
> return jmsTemplate;
> }
>
> public void setJmsTemplate(JmsTemplate jmsTemplate) {
> this.jmsTemplate = jmsTemplate;
> }
> }
>
> spring-jms-plan.xml
>
> Code:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <configuration
> xmlns="http://geronimo.apache.org/xml/ns/deployment"
> configId="deployment/SpringJmsTemplate"
> >
>
> <dependency>
> <!--
> <groupId>geronimo-spec</groupId>
> <artifactId>geronimo-spec-jms</artifactId>
> <version>1.1-rc4</version>
> -->
> <uri>geronimo-spec/jars/geronimo-spec-jms-1.1-rc4.jar</uri>
> </dependency>
>
> <dependency>
> <!--
> <groupId>geronimo</groupId>
> <artifactId>geronimo-kernel</artifactId>
> <version>1.0-M4</version>
> -->
> <uri>geronimo/jars/geronimo-kernel-1.0-M4.jar</uri>
> </dependency>
>
> <dependency>
> <!--
> <groupId>geronimo</groupId>
> <artifactId>geronimo-transaction</artifactId>
> <version>1.0-M4</version>
> -->
> <uri>geronimo/jars/geronimo-transaction-1.0-M4.jar</uri>
> </dependency>
>
> <!-- Thirdparty Dependencies -->
> <dependency>
> <!--
> <groupId>commons-logging</groupId>
> <artifactId>commons-logging</artifactId>
> <version>1.0.3</version>
> -->
> <uri>commons-logging/jars/commons-logging-1.0.3.jar</uri>
> </dependency>
>
> <dependency>
> <!--
> <groupId>concurrent</groupId>
> <artifactId>concurrent</artifactId>
> <version>1.3.4</version>
> -->
> <uri>concurrent/jars/concurrent-1.3.4.jar</uri>
> </dependency>
>
> <dependency>
> <!--
> <groupId>mx4j</groupId>
> <artifactId>mx4j</artifactId>
> <version>3.0.1</version>
> -->
> <uri>mx4j/jars/mx4j-3.0.1.jar</uri>
> </dependency>
>
> <dependency>
> <!--
> <groupId>cglib</groupId>
> <artifactId>cglib-nodep</artifactId>
> <version>2.1</version>
> -->
> <uri>cglib/jars/cglib-nodep-2.1.jar</uri>
> </dependency>
>
> <dependency>
> <!--
> <id>springframework</id>
> <artifactId>spring</artifactId>
> <version>1.1.3</version>
> -->
> <uri>springframework/jars/spring-1.1.3.jar</uri>
> </dependency>
> <!--
> <dependency>
> <id>activemq</id>
> <artifactId>activemq-gbean</artifactId>
> <version>3.1-M5</version>
> </dependency>
> -->
> <dependency>
> <!--
> <id>activemq</id>
> <artifactId>activemq-core</artifactId>
> <version>3.1-M5</version>
> -->
> <uri>activemq/jars/activemq-core-3.1-M5.jar</uri>
> </dependency>
>
> <gbean name="SpringJmsTemplate"
> class="SpringJmsTemplate" >
> </gbean>
> </configuration>
>
>
> error from console
>
> 11:09:29,701 INFO [SPRConfigBuilder] Planning:
> c:\temp\deployer6526.tmpdir\springjms-0.1.spr
> 11:09:29,701 INFO [SPRConfigBuilder] getDeploymentPlan : planFile ->
> C:\geronimo-1.0-M4\modules\assembly\target\geronimo-1.0-M4\spring-jms-plan.xml
> sprFilec:\temp\deployer6526.tmpdir\springjms-0.1.spr
> 11:09:29,701 INFO [SPRConfigBuilder] Building:
> c:\temp\deployer6526.tmpdir\springjms-0.1.spr
> 11:09:29,826 INFO [LocalConfigStore:config-store] Installed
> configuration file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr
> in location 20
> 11:09:29,873 INFO [LocalConfigStore:config-store] Loaded
> Configuration geronimo.config:name="file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr"
> 11:09:29,888 DEBUG [GBeanInstanceState] GBeanInstanceState for:
> geronimo.config:name="file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr"
> State changed from stopped to starting
> 11:09:29,888 DEBUG [Configuration] ClassPath for
> file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr resolved to
> []
> 11:09:29,888 INFO [Configuration] Started configuration
> file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr
> 11:09:29,888 DEBUG [GBeanInstanceState] GBeanInstanceState for:
> geronimo.config:name="file:c:%5Ctemp%5Cdeployer6526.tmpdir%5Cspringjms-0.1.spr"
> State changed from starting to running
> 11:09:29,951 INFO [PersistentConfigurationList] Saved running
> configuration list
> 11:09:29,951 DEBUG [GBeanInstanceState] GBeanInstanceState for:
> geronimo.config:name=spring-jms-plan.xml State changed from stopped to
> starting
> 11:09:29,951 DEBUG [GBeanInstanceState] GBeanInstanceState for:
> geronimo.config:name=spring-jms-plan.xml State changed from starting
> to running
> 11:09:30,013 INFO [PersistentConfigurationList] Saved running
> configuration list
> 11:09:30,013 DEBUG [GBeanInstanceState] GBeanInstanceState for:
> geronimo.server:name=spring-jms-plan.xml,J2EEServer=geronimo,J2EEApplication=null,j2eeType=SpringModule
> State changed from stopped to starting
> 11:09:30,013 INFO [SpringGBean] _classPath[0]:
> file:/C:/geronimo-1.0-M4/modules/assembly/target/geronimo-1.0-M4/config-store/20/
> 11:09:30,076 INFO [XmlBeanDefinitionReader] Loading XML bean
> definitions from class path resource [META-INF/spring.xml]
> 11:09:30,076 DEBUG [XmlBeanDefinitionReader] Using JAXP implementation
> [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@15bd8f]
> 11:09:30,732 DEBUG [BeansDtdResolver] Trying to resolve XML entity
> with public ID [-//SPRING//DTD BEAN//EN] and system ID
> [http://www.springframework.org/dtd/spring-beans.dtd]
> 11:09:30,732 DEBUG [BeansDtdResolver] Trying to locate
> [spring-beans.dtd] under [/org/springframework/beans/factory/xml/]
> 11:09:30,732 DEBUG [BeansDtdResolver] Found beans DTD
> [http://www.springframework.org/dtd/spring-beans.dtd] in classpath
> 11:09:30,795 DEBUG [DefaultXmlBeanDefinitionParser] Loading bean definitions
> 11:09:30,810 DEBUG [DefaultXmlBeanDefinitionParser] Default lazy init 'false'
> 11:09:30,810 DEBUG [DefaultXmlBeanDefinitionParser] Default
> dependency check 'none'
> 11:09:30,810 DEBUG [DefaultXmlBeanDefinitionParser] Default autowire 'no'
> 11:09:30,857 DEBUG [DefaultXmlBeanDefinitionParser] Found 2 <bean>
> elements defining beans
> 11:09:30,857 INFO [SpringGBean$GeronimoBeanFactory] Creating shared
> instance of singleton bean 'jndiTemplate'
> 11:09:30,857 DEBUG [SpringGBean$GeronimoBeanFactory] Creating instance
> of bean 'jndiTemplate' with merged definition [Root bean with class
> [org.springframework.jndi.JndiTemplate] defined in class path resource
> [META-INF/spring.xml]]
> 11:09:30,920 DEBUG [CachedIntrospectionResults] Getting BeanInfo for
> class [org.springframework.jndi.JndiTemplate]
> 11:09:30,920 DEBUG [CachedIntrospectionResults] Caching
> PropertyDescriptors for class [org.springframework.jndi.JndiTemplate]
> 11:09:30,920 DEBUG [CachedIntrospectionResults] Found property
> 'class' of type [java.lang.Class]
> 11:09:30,920 DEBUG [CachedIntrospectionResults] Found property
> 'environment' of type [java.util.Properties]
> 11:09:30,920 DEBUG [CachedIntrospectionResults] Class
> [org.springframework.jndi.JndiTemplate] is cache-safe
> 11:09:30,920 DEBUG [BeanWrapperImpl] About to invoke write method
> [public void org.springframework.jndi.JndiTemplate.setEnvironment(java.util.Properties)]
> on object of class [org.springframework.jndi.JndiTemplate]
> 11:09:30,920 DEBUG [BeanWrapperImpl] Invoked write method [public void
> org.springframework.jndi.JndiTemplate.setEnvironment(java.util.Properties)]
> with value of type [java.util.Properties]
> 11:09:30,920 DEBUG [SpringGBean$GeronimoBeanFactory] Invoking
> BeanPostProcessors before initialization of bean 'jndiTemplate'
> 11:09:30,920 DEBUG [SpringGBean$GeronimoBeanFactory] Invoking
> BeanPostProcessors after initialization of bean 'jndiTemplate'
> 11:09:30,951 INFO [SpringGBean$GeronimoBeanFactory] Destroying
> singletons in factory
> {org.apache.geronimo.spring.SpringGBean$GeronimoBeanFactory defining
> beans [placeholderConfig,jndiTemplate]; root of BeanFactory hierarchy}
> 11:09:30,951 INFO [SpringGBean$GeronimoBeanFactory] Destroying inner
> beans in factory
> {org.apache.geronimo.spring.SpringGBean$GeronimoBeanFactory defining
> beans [placeholderConfig,jndiTemplate]; root of BeanFactory hierarchy}
> 11:09:30,951 ERROR [GBeanInstanceState] Error while starting; GBean
> is now in the FAILED state:
> objectName="geronimo.server:name=spring-jms-plan.xml,J2EEServer=geronimo,J2EEApplication=null,j2eeType=SpringModule"
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'jndiTemplate' defined in class path resource
> [META-INF/spring.xml]: Initialization of bean failed; nested exception
> is java.lang.NoClassDefFoundError:
> org/springframework/jndi/JndiCallback
> java.lang.NoClassDefFoundError: org/springframework/jndi/JndiCallback
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
> at java.lang.Class.privateGetPublicMethods(Unknown Source)
> at java.lang.Class.getMethods(Unknown Source)
> at sun.misc.ProxyGenerator.generateClassFile(Unknown Source)
> at sun.misc.ProxyGenerator.generateProxyClass(Unknown Source)
> at java.lang.reflect.Proxy.getProxyClass(Unknown Source)
> at org.apache.geronimo.spring.SpringGBean.createProxyClass(SpringGBean.java:373)
> at org.apache.geronimo.spring.SpringGBean.createPOJOGBeanData(SpringGBean.java:322)
> at org.apache.geronimo.spring.SpringGBean.afterInitialization(SpringGBean.java:258)
> at org.apache.geronimo.spring.SpringGBean$1.postProcessAfterInitialization(SpringGBean.java:160)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:202)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:306)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:223)
> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:236)
> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:159)
> at org.apache.geronimo.spring.SpringGBean.doStart(SpringGBean.java:168)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:850)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:328)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:111)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:133)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:503)
> at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:205)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:141)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:503)
> at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:205)
> at org.apache.geronimo.kernel.KernelGBean.startRecursiveGBean(KernelGBean.java:72)
> at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:3
> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:754)
> at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:175)
> at org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
> at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown
> Source)
> at javax.management.remote.rmi.RMIConnectionImpl.access$100(Unknown
> Source)
> at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown
> Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown
> Source)
> at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown
> Source)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
> at sun.rmi.transport.Transport$1.run(Unknown Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Unknown Source)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown
> Source)
> at java.lang.Thread.run(Unknown Source)
> 11:09:30,951 DEBUG [GBeanInstanceState] GBeanInstanceState for:
> geronimo.server:name=spring-jms-plan.xml,J2EEServer=geronimo,J2EEApplication=null,j2eeType=SpringModule
> State changed from starting to failed
> 11:12:57,680 DEBUG [JDBCPersistenceAdapter] Cleaning up old messages.
> 11:12:57,680 DEBUG [JDBCPersistenceAdapter] Cleanup done.
> 11:12:58,242 DEBUG [JournalPersistenceAdapter] Checkpoint started.
> 11:12:58,242 DEBUG [JournalPersistenceAdapter] Checkpoint done.
>
> Any idea?
>