2009-02-19 55 views
1

我们的EE应用程序的配置管理需要我们不时创建一个新的数据库连接数据源。我们现在通过修改deploy/[dbtype] -ds.xml文件来执行此操作,并在该文件中插入额外的连接定义。问题是,这样做会导致现有连接除了正在创建的新连接被部署和重新部署。使用JBoss 4.2.x,我怎样才能部署一个新的数据源而不取消现有的部署?

从JBoss日志:

12:52:13,096 INFO [ConnectionFactoryBindingService] Unbound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=dsmDS' from JNDI name 'java:dsmDS' 
12:52:13,386 INFO [ConnectionFactoryBindingService] Unbound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=ecourierDS' from JNDI name 'java:ecourierDS' 
12:52:20,321 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=ecourierDS' to JNDI name 'java:ecourierDS' 
12:52:20,671 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=dsmDS' to JNDI name 'java:dsmDS' 
12:52:26,512 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=ecourier-core360aDS' to JNDI name 'java:ecourier-core360aDS' 

是否有部署新的数据源(或删除或修改现有的),不必解除任何其他方式,不会影响数据源的方式是什么?

(有人建议我们只是将数据源添加到新文件中,但这不起作用,至少不是开箱即用;如果我在一个在deploy目录中名为core360aDS.xml文件中添加core360aDS数据源,这些错误消息发出:

--- Packages waiting for a deployer --- 
[email protected] { url=file:/home/rosec/testing/ecas/var/jboss/server/core41/deploy/core360aDS.xml } 
    deployer: null 
    status: null 
    state: INIT_WAITING_DEPLOYER 
    watch: file:/home/rosec/testing/ecas/var/jboss/server/core41/deploy/core360aDS.xml 
    altDD: null 
    lastDeployed: 1235079499893 
    lastModified: 1235079499000 
    mbeans: 

--- Incompletely deployed packages --- 
[email protected] { url=file:/home/rosec/testing/ecas/var/jboss/server/core41/deploy/core360aDS.xml } 
    deployer: null 
    status: null 
    state: INIT_WAITING_DEPLOYER 
    watch: file:/home/rosec/testing/ecas/var/jboss/server/core41/deploy/core360aDS.xml 
    altDD: null 
    lastDeployed: 1235079499893 
    lastModified: 1235079499000 
    mbeans: 

回答

2

正如Shiny和New先生提到的,正确的方法是将数据源置于其自己的文件中。诀窍是文件名必须符合 到jbossjca-service.xml部署程序文件中支持的后缀。

因此,创建一个新的文件每个数据源,名称foo-ds.xml

2

您可以将数据源存储各自在自己的文件。这样可以避免在正在修改的文件中取消部署其他数据源。您可以在数据源名称后面简单地命名datasource xml文件,从而轻松查找和编辑必要的文件。