5 Replies Latest reply on Aug 21, 2009 2:24 PM by Guillaume Jeudy

    System properties not replaced in ds.xml when propertiesserv

    Guillaume Jeudy Master

      Hi,

      I'm using JBoss 4.2.2, I'm trying to leverage the system properties service. My deployment model is as follows

      EAR
      |
      |
      -------- jboss-service.xml (declares properties service mbean)
      |
      |
      --------- *-ds.xml (declares datasource with properties ${connection.url}
      |
      |
      --------- other archives

      the jboss-service.xml and *-ds.xml are declared in the jboss-app.xml, I use <module-order>strict</module-order> with the jboss-service.xml declared before everything else.

      Nevertheless I get runtime errors, apparently the property interpolation failed even though the system properties service was deployed before everything else inside the EAR.

      <jboss-app>
       <loader-repository>com.archinsurance:loader=rdm</loader-repository>
       <module-order>strict</module-order>
       <module>
       <service>jboss-service.xml</service>
       </module>
       <module>
       <service>rdm-wsmq-ds.xml</service>
       </module>
       <module>
       <service>rdm-ds-1.5.6.0-SNAPSHOT.sar</service>
       </module>
      </jboss-app>


      Caused by: org.jboss.resource.JBossResourceException: Apparently wrong driver class specified for URL: class: oracle.jdbc.driver.OracleDriver, url: ${rdm.ds.connection.url}
       at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getDriver(LocalManagedConnectionFactory.java:290)
       at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:170)
       ... 158 more


      if the properties service is loaded directly in properties-service.xml file in deploy dir things behave normally and the datasources load fine from the EAR.

      Can somebody enlighten me? I deploy several apps in the same jboss instance and I want each app to deploy its own properties service, that is why I make it part of the EAR but this approach doesn't work. Ideally I would like the property replacement to be scoped per EAR but I haven't found anything to support this. The workaround I use is a separate property namespace per application so that there is no property clash in the common system properties in the VM.

      Please advise,
      -Guillaume

        • 1. Re: System properties not replaced in ds.xml when properties
          jaikiran pai Master

          From what i remember, the module-order controls the order of modules in the application.xml and not the order of modules in jboss-app.xml.

          • 2. Re: System properties not replaced in ds.xml when properties
            jaikiran pai Master

             

            "jaikiran" wrote:
            From what i remember, the module-order controls the order of modules in the application.xml and not the order of modules in jboss-app.xml.


            I'm wrong. Just found the dtd which says this:

            The strict value indicates that the deployments of the modules will be done in the order that would be specified in the application.xml and jboss-app.xml file .


            Could you post your console logs (not server.log), the entire exception stacktrace and the contents of that jboss-service.xml?


            • 3. Re: System properties not replaced in ds.xml when properties
              Guillaume Jeudy Master

              here's the jboss-service.xml:

              <server>
               <mbean code="org.jboss.varia.property.SystemPropertiesService"
               name="jboss:type=Service,name=SystemProperties">
               <attribute name="URLList">
               ${jboss.server.config.url}/props/rdm.properties
               </attribute>
               </mbean>
               <mbean code="com.archinsurance.commons.mbean.JNDIMapper"
               name="archinsurance.rdm:name=JNDIMapperAdapter,type=Adapter">
               <attribute name="SpringContextPath">mq-application-context.xml</attribute>
               <depends>jboss:service=Naming</depends>
               </mbean>
              </server>


              The exception stacktrace:


              2009-08-20 11:03:30,963 INFO [org.jboss.deployment.EARDeployer] Init J2EE application: file:/C:/jboss-4.2.2.GA/server/default/deploy/01_rdm-ear-1.5.6.0-SNAPSHOT.ear
              2009-08-20 11:03:33,167 INFO [org.jboss.varia.property.SystemPropertiesService] Loaded system properties from: file:/C:/jboss-4.2.2.GA/server/default/conf/props/rdm.properties
              2009-08-20 11:03:34,120 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=ReferenceDataManagerDS' to JNDI name 'java:ReferenceDataManagerDS'
              2009-08-20 11:03:34,120 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=ReferenceDataManagerNoTxDS' to JNDI name 'java:ReferenceDataManagerNoTxDS'
              2009-08-20 11:03:34,120 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=ReferenceDataManagerXADS' to JNDI name 'java:ReferenceDataManagerXADS'
              2009-08-20 11:03:34,120 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DEV-ODSB-DS' to JNDI name 'java:DEV-ODSB-DS'
              2009-08-20 11:03:34,135 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=INT-ODSB-DS' to JNDI name 'java:INT-ODSB-DS'
              2009-08-20 11:03:34,135 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=STG-ODSB-DS' to JNDI name 'java:STG-ODSB-DS'
              2009-08-20 11:03:34,135 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=PROD-ODSB-DS' to JNDI name 'java:PROD-ODSB-DS'
              2009-08-20 11:03:34,151 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DEV-ARCHLINK-REFMASTER-DS' to JNDI name 'java:DEV-ARCHLINK-REFMASTER-DS'
              2009-08-20 11:03:34,151 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DEV-ARCHLINK-POLICY-DS' to JNDI name 'java:DEV-ARCHLINK-POLICY-DS'
              2009-08-20 11:03:34,198 INFO [com.archinsurance.commons.mbean.JNDIMapper] JNDIMapper.start() invoked
              2009-08-20 11:03:34,198 DEBUG [com.archinsurance.commons.mbean.JNDIMapper] Starting MBean...
              2009-08-20 11:03:34,370 INFO [org.springframework.context.support.ClassPathXmlApplicationContext] Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@40d98f: display name [org.springframework.context.support.ClassPathXmlApplicationContext@40d98f]; startup date [Thu Aug 20 11:03:34 EDT 2009]; root of context hierarchy
              2009-08-20 11:03:34,495 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [mq-application-context.xml]
              2009-08-20 11:03:34,682 INFO [org.springframework.context.support.ClassPathXmlApplicationContext] Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@40d98f]: org.springframework.beans.factory.support.DefaultListableBeanFactory@4afc0a
              2009-08-20 11:03:34,917 INFO [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer] Loading properties file from URL [file:/C:/jboss-4.2.2.GA/server/default/conf//props/rdm.properties]
              2009-08-20 11:03:34,948 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4afc0a: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,exporter,mqTopicConnectionFactory,mqQueueConnectionFactory,deployerSubscriberTopic,jndiResourceMap,envContextProps]; root of factory hierarchy
              2009-08-20 11:03:35,542 INFO [org.springframework.jmx.export.MBeanExporter] Registering beans for JMX exposure on startup
              2009-08-20 11:03:35,557 INFO [org.springframework.jmx.export.MBeanExporter] Located managed bean 'archinsurance.rdm:service=rdmMQQueueConnectionFactory': registering with JMX server as MBean [archinsurance.rdm:service=rdmMQQueueConnectionFactory]
              2009-08-20 11:03:35,588 INFO [org.springframework.jmx.export.MBeanExporter] Located managed bean 'archinsurance.rdm:service=rdmMQTopicConnectionFactory': registering with JMX server as MBean [archinsurance.rdm:service=rdmMQTopicConnectionFactory]
              2009-08-20 11:03:35,588 INFO [org.springframework.jmx.export.MBeanExporter] Located managed bean 'archinsurance.rdm:service=DeployerSubscriberTopic': registering with JMX server as MBean [archinsurance.rdm:service=DeployerSubscriberTopic]
              2009-08-20 11:03:35,635 INFO [com.archinsurance.commons.mbean.JNDIMapper] MBean started successfully.
              2009-08-20 11:03:35,635 INFO [com.archinsurance.commons.mbean.JNDIMapper] JNDIMapper.mapMQObjectsToJNDI started...
              2009-08-20 11:03:35,635 INFO [com.archinsurance.commons.mbean.JNDIResourceMap] Starting JNDI Binding.
              2009-08-20 11:03:35,635 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] Using JNDI Name: rdmWSMQTopicConnectionFactory
              2009-08-20 11:03:35,635 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] JNDIResourceMap.createSubcontext called.
              2009-08-20 11:03:35,635 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] JNDIResourceMap.createSubcontext completed.
              2009-08-20 11:03:35,651 INFO [com.archinsurance.commons.mbean.JNDIResourceMap] Object bound to JNDI: rdmWSMQTopicConnectionFactory successfully.
              2009-08-20 11:03:35,651 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] Using JNDI Name: rdmWSMQQueueConnectionFactory
              2009-08-20 11:03:35,651 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] JNDIResourceMap.createSubcontext called.
              2009-08-20 11:03:35,651 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] JNDIResourceMap.createSubcontext completed.
              2009-08-20 11:03:35,667 INFO [com.archinsurance.commons.mbean.JNDIResourceMap] Object bound to JNDI: rdmWSMQQueueConnectionFactory successfully.
              2009-08-20 11:03:35,667 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] Using JNDI Name: queue/rdm/Deployer
              2009-08-20 11:03:35,667 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] JNDIResourceMap.createSubcontext called.
              2009-08-20 11:03:35,667 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] JNDIResourceMap.createSubcontext completed.
              2009-08-20 11:03:35,667 INFO [com.archinsurance.commons.mbean.JNDIResourceMap] Object bound to JNDI: queue/rdm/Deployer successfully.
              2009-08-20 11:03:35,667 INFO [com.archinsurance.commons.mbean.JNDIResourceMap] Completed JNDI bindings.
              2009-08-20 11:03:35,667 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] Object successfully bound to JNDI:
              2009-08-20 11:03:35,667 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] rdmWSMQTopicConnectionFactory
              2009-08-20 11:03:35,667 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] queue/rdm/Deployer
              2009-08-20 11:03:35,667 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] rdmWSMQQueueConnectionFactory
              2009-08-20 11:03:35,667 DEBUG [com.archinsurance.commons.mbean.JNDIResourceMap] Object unable to bound to JNDI:
              2009-08-20 11:03:35,667 INFO [com.archinsurance.commons.mbean.JNDIMapper] JNDIMapper.mapMQObjectsToJNDI completed...
              2009-08-20 11:03:35,667 INFO [com.archinsurance.commons.mbean.JNDIMapper] JNDIMapper.start() completed.
              2009-08-20 11:03:35,682 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=rdmWSMQJms' to JNDI name 'java:rdmWSMQJms'
              2009-08-20 11:03:35,729 INFO [org.jboss.ejb3.JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
              2009-08-20 11:03:35,729 INFO [org.jboss.ejb3.JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=01_rdm-ear-1.5.6.0-SNAPSHOT.ear,jar=jboss-seam-2.0.1.GA.jar,name=TimerServiceDispatcher,service=EJB3 with dependencies:
              2009-08-20 11:03:35,745 INFO [org.jboss.ejb3.EJBContainer] STARTED EJB: org.jboss.seam.async.TimerServiceDispatcher ejbName: TimerServiceDispatcher
              2009-08-20 11:03:35,776 INFO [org.jboss.ejb3.JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateful.StatefulContainer
              2009-08-20 11:03:35,776 INFO [org.jboss.ejb3.JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=01_rdm-ear-1.5.6.0-SNAPSHOT.ear,jar=jboss-seam-2.0.1.GA.jar,name=EjbSynchronizations,service=EJB3 with dependencies:
              2009-08-20 11:03:35,807 INFO [org.jboss.ejb3.EJBContainer] STARTED EJB: org.jboss.seam.transaction.EjbSynchronizations ejbName: EjbSynchronizations
              2009-08-20 11:03:35,838 INFO [org.jboss.ejb3.EJB3Deployer] Deployed: file:/C:/jboss-4.2.2.GA/server/default/tmp/deploy/tmp4010901_rdm-ear-1.5.6.0-SNAPSHOT.ear-contents/lib/jboss-seam-2.0.1.GA.jar
              2009-08-20 11:03:35,838 INFO [org.jboss.ejb3.JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.entity.PersistenceUnitDeployment
              2009-08-20 11:03:35,838 INFO [org.jboss.ejb3.JmxKernelAbstraction] installing MBean: persistence.units:ear=01_rdm-ear-1.5.6.0-SNAPSHOT.ear,unitName=ReferenceDataManagerDB with dependencies:
              2009-08-20 11:03:35,838 INFO [org.jboss.ejb3.JmxKernelAbstraction] jboss.jca:name=ReferenceDataManagerDS,service=DataSourceBinding
              2009-08-20 11:03:35,854 INFO [org.jboss.ejb3.entity.PersistenceUnitDeployment] Starting persistence unit persistence.units:ear=01_rdm-ear-1.5.6.0-SNAPSHOT.ear,unitName=ReferenceDataManagerDB
              2009-08-20 11:03:36,792 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
              org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (org.jboss.resource.JBossResourceException: Apparently wrong driver class specified for URL: class: oracle.jdbc.driver.OracleDriver, url: ${rdm.ds.connection.url})
              at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:179)
              at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:577)
              at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:262)
              at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:500)
              at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:341)
              at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:315)
              at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:396)
              at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:842)
              at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
              at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:47)
              at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
              at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
              at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
              at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:713)
              at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:127)
              at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:246)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:103)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
              at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
              at $Proxy0.start(Unknown Source)
              at org.jboss.system.ServiceController.start(ServiceController.java:417)
              at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy100.start(Unknown Source)
              at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:120)
              at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:627)
              at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:351)
              at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
              at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
              at $Proxy0.start(Unknown Source)
              at org.jboss.system.ServiceController.start(ServiceController.java:417)
              at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy34.start(Unknown Source)
              at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:512)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
              at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
              at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
              at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
              at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
              at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy35.start(Unknown Source)
              at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
              at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
              at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy10.deploy(Unknown Source)
              at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
              at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
              at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
              at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
              at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
              at $Proxy0.start(Unknown Source)
              at org.jboss.system.ServiceController.start(ServiceController.java:417)
              at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy4.start(Unknown Source)
              at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
              at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy5.deploy(Unknown Source)
              at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
              at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
              at org.jboss.Main.boot(Main.java:200)
              at org.jboss.Main$1.run(Main.java:508)
              at java.lang.Thread.run(Thread.java:595)
              Caused by: org.jboss.resource.JBossResourceException: Apparently wrong driver class specified for URL: class: oracle.jdbc.driver.OracleDriver, url: ${rdm.ds.connection.url}
              at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getDriver(LocalManagedConnectionFactory.java:290)
              at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:170)
              ... 158 more


              Thanks for helping out jaikiran!

              • 4. Re: System properties not replaced in ds.xml when properties
                jaikiran pai Master

                 

                2009-08-20 11:03:34,198 INFO [com.archinsurance.commons.mbean.JNDIMapper] JNDIMapper.start() invoked
                2009-08-20 11:03:34,198 DEBUG [com.archinsurance.commons.mbean.JNDIMapper] Starting MBean...
                2009-08-20 11:03:34,370 INFO [org.springframework.context.support.ClassPathXmlApplicationContext] Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@40d98f: display name [org.springframework.context.support.ClassPathXmlApplicationContext@40d98f]; startup date [Thu Aug 20 11:03:34 EDT 2009]; root of context hierarchy
                2009-08-20 11:03:34,495 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [mq-application-context.xml]
                2009-08-20 11:03:34,682 INFO [org.springframework.context.support.ClassPathXmlApplicationContext] Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@40d98f]: org.springframework.beans.factory.support.DefaultListableBeanFactory@4afc0a
                2009-08-20 11:03:34,917 INFO [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer] Loading properties file from URL [file:/C:/jboss-4.2.2.GA/server/default/conf//props/rdm.properties]


                These logs do show that the modules seem to be starting in the correct order. Although there appears to an issue with the path:
                Loading properties file from URL [file:/C:/jboss-4.2.2.GA/server/default/conf//props/rdm.properties

                Notice, the double "/" characters after the conf. Try changing the jboss-service.xml to contain this:

                ${jboss.server.config.url}props/rdm.properties


                instead of
                ${jboss.server.config.url}/props/rdm.properties


                I am not really sure that this is causing the whole issue. But give it a try and see if it works. If it doesn't then post the contents of that properties file.




                • 5. Re: System properties not replaced in ds.xml when properties
                  Guillaume Jeudy Master

                  I still get the same error even when the doubleslash is corrected:

                  2009-08-21 14:00:04,317 INFO [org.jboss.varia.property.SystemPropertiesService] Loaded system properties from: file:/C:/jboss-4.2.2.GA/server/default/conf/props/rdm.properties

                  rdm.properties

                  # General properties
                  
                  rdm.java.naming.provider.url=localhost\:1199
                  rdm.aspuc.java.naming.provider.url=nycdpdevjboss01\:1699
                  rdm.userLookupEnabled=true
                  rdm.seam.debug=true
                  rdm.facelets.debug=true
                  
                  # Hibernate properties
                  rdm.hibernate.jdbc.batch_size=50
                  
                  # Deployer properties
                  
                  rdm.deployer.mq.name=SYSTEM.JMS.D.RDM.INVENTORY.UPDATE
                  rdm.deployer.refreshWorkspaceEnabled=true
                  rdm.deployer.transactionTimeout=1800
                  rdm.deployer.transactionTimeoutPerTargetDb=900
                  
                  # Database properties
                  rdm.ds.connection.url=jdbc:oracle:thin:@secdpdevdb01:1521:REFD10
                  rdm.ds.owner.username=REFDEV
                  
                  rdm.xads.connection.url=jdbc:oracle:thin:@secdpdevdb01:1521:REFD10
                  rdm.xads.owner.username=REFDEV
                  
                  rdm.odsbdev.ds.connection.url=jdbc:oracle:thin:@secdpdevdb01:1521:DEV10
                  rdm.odsbdev.ds.owner.username=REFAPPDEV
                  
                  rdm.odsbint.ds.connection.url=jdbc:oracle:thin:@secdpdevdb01:1521:DEV10
                  rdm.odsbint.ds.owner.username=REFAPPDEVINT
                  
                  rdm.odsbstg.ds.connection.url=jdbc:oracle:thin:@secdpdevdb01:1521:DEV10
                  rdm.odsbstg.ds.owner.username=REFAPPDEVSTG
                  
                  rdm.odsbprod.ds.connection.url=jdbc:oracle:thin:@secdpdevdb01:1521:DEV10
                  rdm.odsbprod.ds.owner.username=REFAPPDEVPROD
                  
                  rdm.archlinkdev.ds.connection.url=jdbc\:sqlserver\://ARCHLINKDEVSQL
                  
                  # MQ properties
                  
                  rdm.jnpPort=1199
                  
                  rdm.mq.topicConnectionFactory.brokerControlQueue=SYSTEM.PUBSUB.PROXY.IN
                  rdm.mq.topicConnectionFactory.brokerPubQueue=ARCH.CLAIM.PROXY.JMS
                  rdm.mq.topicConnectionFactory.brokerSubQueue=SYSTEM.JMS.ND.PTS.*
                  rdm.mq.topicConnectionFactory.statusRefreshInterval=1000
                  
                  rdm.mq.brokerQueueManager=DLMQ02
                  rdm.mq.hostname=nycdpdevmsgbrk01
                  rdm.mq.channel=JBOSS
                  rdm.mq.port=1414


                  I think that somehow jboss may be parsing all config files inside the EAR eagerly and set all attributes of mbeans in the same phase. This would not give the opportunity for the system properties to load before that since the properties service is itself included in the ear.. What do you think?