Hello,
i've been trying a migration of my portal from Tomcat to jBoss 6.2.2 EAP recently and i've found some problems during the deploy.
I've followed the doc jAPS2.0-JBossDeploymentGuide, modifying the web.xml inserting the entries of the context.xml environments and modifying the systemConfig.xml for the DataSources, but i still have some problems.
The problem seems to be at the file baseManagersConfig.xml.
Here are the error logs of jboss:
12:31:24,796 INFO [org.jboss.web] (ServerService Thread Pool -- 337) JBAS018210: Register web context: /portale
12:31:25,097 INFO [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/portale]] (ServerService Thread Pool -- 337) Initializing Spring root WebApplicationContext
12:31:32,016 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/portale]] (ServerService Thread Pool -- 337) JBWEB000287: Exception sending context initialized event to listener instance of class com.agiletec.aps.servlet.StartupListener: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'BaseConfigManager' defined in ServletContext resource [/WEB-INF/conf/managers/baseManagersConfig.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [spring-beans-2.5.6.jar:2.5.6]
at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_30]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) [spring-context-2.5.6.jar:2.5.6]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380) [spring-context-2.5.6.jar:2.5.6]
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) [spring-web-2.5.6.jar:2.5.6]
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) [spring-web-2.5.6.jar:2.5.6]
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) [spring-web-2.5.6.jar:2.5.6]
at com.agiletec.aps.servlet.StartupListener.contextInitialized(StartupListener.java:37) [classes:]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.3.1.Final-redhat-1.jar:7.3.1.Final-redhat-1]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.3.1.Final-redhat-1.jar:7.3.1.Final-redhat-1]
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2]
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2]
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.6.0_30]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.6.0_30]
at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.6.0_30]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) [rt.jar:1.6.0_30]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.6.0_30]
at java.lang.Thread.run(Thread.java:701) [rt.jar:1.6.0_30]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.NullPointerException
at com.agiletec.aps.system.services.baseconfig.BaseConfigManager.parseParams(BaseConfigManager.java:125) [classes:]
at com.agiletec.aps.system.services.baseconfig.BaseConfigManager.init(BaseConfigManager.java:51) [classes:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.6.0_30]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_30]
at java.lang.reflect.Method.invoke(Method.java:622) [rt.jar:1.6.0_30]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375) [spring-beans-2.5.6.jar:2.5.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335) [spring-beans-2.5.6.jar:2.5.6]
... 28 more
12:31:32,587 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/portale]] (ServerService Thread Pool -- 337) JBWEB000287: Exception sending context initialized event to listener instance of class com.agiletec.apsadmin.system.resource.JapsPluginLabelListener: java.lang.NullPointerException
at com.agiletec.apsadmin.system.resource.JapsPluginLabelListener.contextInitialized(JapsPluginLabelListener.java:57) [classes:]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.3.1.Final-redhat-1.jar:7.3.1.Final-redhat-1]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.3.1.Final-redhat-1.jar:7.3.1.Final-redhat-1]
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2]
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2]
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.6.0_30]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.6.0_30]
at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.6.0_30]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) [rt.jar:1.6.0_30]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.6.0_30]
at java.lang.Thread.run(Thread.java:701) [rt.jar:1.6.0_30]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
12:31:32,597 ERROR [org.apache.catalina.core] (ServerService Thread Pool -- 337) JBWEB001103: Error detected during context /portale start, will stop it
12:31:32,597 INFO [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/portale]] (ServerService Thread Pool -- 337) Closing Spring root WebApplicationContext
12:31:32,598 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 337) MSC000001: Failed to start service jboss.web.deployment.default-host./portale: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./portale: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Failed to start context
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.6.0_30]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.6.0_30]
at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.6.0_30]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) [rt.jar:1.6.0_30]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.6.0_30]
at java.lang.Thread.run(Thread.java:701) [rt.jar:1.6.0_30]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Failed to start context
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:161)
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60)
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93)
... 7 more
12:31:32,821 ERROR [org.jboss.as.server] (HttpManagementService-threads - 4) JBAS015870: Deploy of deployment "portale.war" was rolled back with the following failure message:
{"JBAS014671: Failed services" => {"jboss.web.deployment.default-host./portale" => "org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./portale: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Failed to start context
Caused by: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Failed to start context"}}
12:31:33,141 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment portale.war (runtime-name: portale.war) in 330ms
The baseManagerConfigs.xml is as follows:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd" >
<bean id="NotifyManager" class="com.agiletec.aps.system.services.notify.NotifyManager" />
<bean id="abstractService" abstract="true" class="com.agiletec.aps.system.services.AbstractService"
init-method="init" >
<property name="notifyManager" ref="NotifyManager" />
</bean>
<bean id="BaseConfigManager" class="com.agiletec.aps.system.services.baseconfig.BaseConfigManager"
parent="abstractService" >
<property name="systemParams">
<map>
<entry key="version"><value>${version}</value></entry>
<entry key="configVersion"><jee:jndi-lookup jndi-name="java:comp/env/configVersion" /></entry>
<entry key="applicationBaseURL"><jee:jndi-lookup jndi-name="java:comp/env/applicationBaseURL" /></entry>
<entry key="resourceRootURL"><jee:jndi-lookup jndi-name="java:comp/env/resourceRootURL" /></entry>
<entry key="resourceDiskRootFolder"><jee:jndi-lookup jndi-name="java:comp/env/resourceDiskRootFolder" /></entry>
</map>
</property>
<property name="configDAO" >
<bean class="com.agiletec.aps.system.services.baseconfig.ConfigItemDAO">
<property name="dataSource" ref="portDataSource" />
</bean>
</property>
</bean>
<bean id="abstractApsAutorityManager" abstract="true" class="com.agiletec.aps.system.services.authorization.authorizator.AbstractApsAutorityManager"
parent="abstractService" >
<property name="userManager" ref="UserManager" />
</bean>
<bean id="GroupManager" class="com.agiletec.aps.system.services.group.GroupManager"
parent="abstractApsAutorityManager" >
<property name="groupDAO" >
<bean class="com.agiletec.aps.system.services.group.GroupDAO">
<property name="dataSource" ref="servDataSource" />
</bean>
</property>
</bean>
<bean id="RoleManager" class="com.agiletec.aps.system.services.role.RoleManager"
parent="abstractApsAutorityManager" >
<property name="roleDAO" >
<bean class="com.agiletec.aps.system.services.role.RoleDAO">
<property name="dataSource" ref="servDataSource" />
</bean>
</property>
<property name="permissionDAO" >
<bean class="com.agiletec.aps.system.services.role.PermissionDAO">
<property name="dataSource" ref="servDataSource" />
</bean>
</property>
</bean>
<bean id="UserManager" class="com.agiletec.aps.system.services.user.UserManager"
parent="abstractService" >
<property name="userDAO" >
<bean class="com.agiletec.aps.system.services.user.UserDAO">
<property name="dataSource" ref="servDataSource" />
<property name="encrypter">
<bean class="com.agiletec.aps.util.Md5Encrypter"></bean>
</property>
</bean>
</property>
<property name="configManager" ref="BaseConfigManager"/>
</bean>
<bean id="AuthenticationProviderManager" class="com.agiletec.aps.system.services.user.AuthenticationProviderManager"
parent="abstractService" >
<property name="userManager" ref="UserManager" />
<property name="authorizators">
<list>
<ref bean="RoleManager" />
<ref bean="GroupManager" />
</list>
</property>
</bean>
<bean id="AuthorizationManager" class="com.agiletec.aps.system.services.authorization.AuthorizationManager"
parent="abstractService" >
<property name="roleManager" ref="RoleManager" />
<property name="groupManager" ref="GroupManager" />
</bean>
<bean id="CacheManager" class="com.agiletec.aps.system.services.cache.CacheManager"
parent="abstractService" >
<property name="cachePropertiesFilePath" ><value>${cachePropertiesFilePath}</value></property>
<property name="cacheDiskRootFolder"><jee:jndi-lookup jndi-name="java:comp/env/cacheDiskRootFolder" /></property>
</bean>
<bean id="LangManager" class="com.agiletec.aps.system.services.lang.LangManager"
parent="abstractService" >
<property name="configManager" ref="BaseConfigManager"/>
</bean>
<bean id="CategoryManager" class="com.agiletec.aps.system.services.category.CategoryManager"
parent="abstractService" >
<property name="langManager" ref="LangManager"/>
<property name="categoryDAO" >
<bean class="com.agiletec.aps.system.services.category.CategoryDAO">
<property name="dataSource" ref="portDataSource" />
</bean>
</property>
</bean>
<bean id="ShowletTypeManager" class="com.agiletec.aps.system.services.showlettype.ShowletTypeManager"
parent="abstractService" >
<property name="showletTypeDAO" >
<bean class="com.agiletec.aps.system.services.showlettype.ShowletTypeDAO">
<property name="dataSource" ref="portDataSource" />
</bean>
</property>
</bean>
<bean id="PageModelManager" class="com.agiletec.aps.system.services.pagemodel.PageModelManager"
parent="abstractService" >
<property name="pageModelDAO" >
<bean class="com.agiletec.aps.system.services.pagemodel.PageModelDAO">
<property name="dataSource" ref="portDataSource" />
<property name="showletTypeManager" ref="ShowletTypeManager" />
</bean>
</property>
</bean>
<bean id="PageManager" class="com.agiletec.aps.system.services.page.PageManager"
parent="abstractService" >
<property name="pageDAO" >
<bean class="com.agiletec.aps.system.services.page.PageDAO">
<property name="dataSource" ref="portDataSource" />
<property name="showletTypeManager" ref="ShowletTypeManager" />
<property name="pageModelManager" ref="PageModelManager" />
</bean>
</property>
</bean>
<bean id="NavigatorParser" class="com.agiletec.aps.system.services.page.showlet.NavigatorParser">
<property name="authManager" ref="AuthorizationManager"/>
<property name="pageManager" ref="PageManager"/>
</bean>
<bean id="URLManager" class="com.agiletec.aps.system.services.url.URLManager"
parent="abstractService" >
<property name="configManager" ref="BaseConfigManager"/>
<property name="pageManager" ref="PageManager"/>
<property name="langManager" ref="LangManager"/>
</bean>
<bean id="I18nManager" class="com.agiletec.aps.system.services.i18n.I18nManager"
parent="abstractService" >
<property name="i18nDAO" >
<bean class="com.agiletec.aps.system.services.i18n.I18nDAO">
<property name="dataSource" ref="portDataSource" />
</bean>
</property>
</bean>
<bean id="KeyGeneratorManager" class="com.agiletec.aps.system.services.keygenerator.KeyGeneratorManager"
parent="abstractService" >
<property name="keyGeneratorDAO" >
<bean class="com.agiletec.aps.system.services.keygenerator.KeyGeneratorDAO">
<property name="dataSource" ref="portDataSource" />
</bean>
</property>
</bean>
</beans>
Is there something that i missed or not inserted in the document to complete the migration?
Anyone had the same problem?
Thank you for the assistance