在bean.xml之前加载jndi.xml

| 我有两个文件beans.xml和jndi.xml。我们想要在bean.xml中检索通过jndi.xml放入JNDI的内容。不幸的是,beans.xml中的bean是在加载jndi.xml之前创建的,因此,当我们尝试在beans.xml中进行JNDI查找时,JNDI中没有任何内容。有没有办法让jndi.xml在beans.xml之前加载? beans.xml
...
<bean id=\"geronimoTransactionManager\" class=\"org.springframework.jndi.JndiObjectFactoryBean\">
    <property name=\"jndiName\" value=\"java:comp/UserTransaction\" />
</bean>
...
jndi.xml
<beans>
    <bean id=\"jndi\"
          class=\"org.apache.xbean.spring.jndi.SpringInitialContextFactory\"
          factory-method=\"makeInitialContext\"
          singleton=\"true\">
        <property name=\"entries\" ref=\"jndiEntries\" />
    </bean>

    <map id=\"jndiEntries\">
        <entry key=\"java:comp/UserTransaction\" value-ref=\"geronimoTransactionManager\" />
    </map>

    <bean id=\"jtaTransactionManager\" class=\"org.springframework.transaction.jta.JtaTransactionManager\">
        <property name=\"userTransaction\" ref=\"geronimoTransactionManager\" />
    </bean>

    <bean id=\"geronimoTransactionManager\" class=\"org.apache.geronimo.transaction.manager.TransactionManagerImpl\" />
</beans>
这是让我相信在jndi.xml之前加载beans.xml的日志。
21:43:26,927 | INFO  | l Console Thread | ultOsgiApplicationContextCreator | 72 - org.springframework.osgi.extender - 1.2.0 | Discovered configurations {osgibundle:/META-INF/spring/*.xml} in bundle [SWIM Prototype :: AqMqJDBC Pooling (camel-osgi-aqmq)]
21:43:26,939 | INFO  | ExtenderThread-4 | OsgiBundleXmlApplicationContext  | 61 - org.springframework.context - 3.0.5.RELEASE | Refreshing OsgiBundleXmlApplicationContext(bundle=camel-osgi-aqmq, config=osgibundle:/META-INF/spring/*.xml): startup date [Wed Apr 20 21:43:26 GMT+00:00 2011]; root of context hierarchy
21:43:26,939 | INFO  | ExtenderThread-4 | OsgiBundleXmlApplicationContext  | 61 - org.springframework.context - 3.0.5.RELEASE | Unpublishing application context OSGi service for bundle SWIM Prototype :: AqMqJDBC Pooling (camel-osgi-aqmq)
21:43:26,973 | INFO  | ExtenderThread-4 | XmlBeanDefinitionReader          | 59 - org.springframework.beans - 3.0.5.RELEASE | Loading XML bean definitions from URL [bundleentry://202.fwk22939763/META-INF/spring/beans.xml]
21:43:27,295 | INFO  | ExtenderThread-4 | CamelNamespaceHandler            | 75 - org.apache.camel.camel-spring - 2.6.0.fuse-01-09 | OSGi environment detected.
21:43:29,167 | INFO  | ExtenderThread-4 | WaiterApplicationContextExecutor | 72 - org.springframework.osgi.extender - 1.2.0 | No outstanding OSGi service dependencies, completing initialization for OsgiBundleXmlApplicationContext(bundle=camel-osgi-aqmq, config=osgibundle:/META-INF/spring/*.xml)
21:43:29,283 | INFO  | ExtenderThread-5 | DefaultListableBeanFactory       | 59 - org.springframework.beans - 3.0.5.RELEASE | Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@77e77a: defining beans [template,consumerTemplate,camel-1:beanPostProcessor,camel-1,required,jtaTransactionManager,geronimoTransactionManager,activeMQ,jmsConnectionFactory,jmsManagedConnectionFactory,jmsResourceAdapter,jencksConnectionManager,jencksPoolingSupport,requiredBeanForOracleAq,oracleQueue,oracleQueueCredentials,aqConnectionFactoryQueue,aqXADataSource,jdbcXADataSource,managedXADataSource,myTransform,preProps,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0]; root of factory hierarchy
21:43:29,736 | INFO  | ExtenderThread-5 | OsgiSpringCamelContext           | 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | JMX enabled. Using ManagedManagementStrategy.
21:43:29,839 | INFO  | ExtenderThread-5 | JtaTransactionManager            | 74 - org.springframework.transaction - 3.0.5.RELEASE | Using JTA UserTransaction: org.apache.geronimo.transaction.manager.TransactionManagerImpl@1f07586
21:43:29,839 | INFO  | ExtenderThread-5 | JtaTransactionManager            | 74 - org.springframework.transaction - 3.0.5.RELEASE | Using JTA TransactionManager: org.apache.geronimo.transaction.manager.TransactionManagerImpl@1f07586
21:43:29,839 | INFO  | ExtenderThread-5 | JtaTransactionManager            | 74 - org.springframework.transaction - 3.0.5.RELEASE | Using JTA TransactionSynchronizationRegistry: org.apache.geronimo.transaction.manager.TransactionManagerImpl@1f07586
21:43:30,104 | INFO  | ExtenderThread-5 | OsgiSpringCamelContext           | 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | Apache Camel 2.6.0-fuse-01-09 (CamelContext: 202-camel-3) is starting21:43:30,430 | INFO  | ExtenderThread-5 | Activator                        | 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | Found 13 @Converter classes to load
21:43:30,469 | INFO  | ExtenderThread-5 | Activator                        | 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | Found 1 @Converter classes to load
21:43:30,473 | INFO  | ExtenderThread-5 | Activator                        | 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | Found 1 @Converter classes to load
21:43:30,477 | INFO  | ExtenderThread-5 | Activator                        | 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | Found 2 @Converter classes to load
21:43:34,173 | INFO  | ExtenderThread-5 | OsgiSpringCamelContext           | 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | Route: route1 started and consuming from: Endpoint[activeMQ://queue:BROKER2.QUEUE?concurrentConsumers=10]
21:43:34,194 | INFO  | ExtenderThread-5 | OsgiSpringCamelContext           | 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | Total 1 routes, of which 1 is started.
21:43:34,196 | INFO  | ExtenderThread-5 | OsgiSpringCamelContext           | 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | Apache Camel 2.6.0-fuse-01-09 (CamelContext: 202-camel-3) started in 4.089 seconds
21:43:34,204 | INFO  | ExtenderThread-5 | OsgiBundleXmlApplicationContext  | 61 - org.springframework.context - 3.0.5.RELEASE | Publishing application context as OSGi service with properties {org.springframework.context.service.name=camel-osgi-aqmq, Bundle-SymbolicName=camel-osgi-aqmq, Bundle-Version=4.3.0.fuse-03-00}
21:43:34,205 | INFO  | ExtenderThread-5 | ContextLoaderListener            | 72 - org.springframework.osgi.extender - 1.2.0 | Application context successfully refreshed (OsgiBundleXmlApplicationContext(bundle=camel-osgi-aqmq, config=osgibundle:/META-INF/spring/*.xml))
21:43:41,674 | INFO  | tenerContainer-7 | SpringInitialContextFactory      | 110 - org.apache.xbean.spring - 3.7 | Loading JNDI context from: class path resource [jndi.xml]
21:43:41,685 | INFO  | tenerContainer-7 | XBeanXmlBeanDefinitionReader     | 59 - org.springframework.beans - 3.0.5.RELEASE | Loading XML bean definitions from class path resource [jndi.xml]
    
已邀请:
在jndi.xml中,您应该尝试:
<beans>
  <import resource=\"beans.xml\"/>
(...)
    

要回复问题请先登录注册