Java 使用JBoss4.2.x,如何在不取消部署现有数据源的情况下部署新数据源?
EE应用程序的配置管理要求我们不时创建一个新的数据库连接数据源。我们现在通过修改deploy/[dbtype]-ds.xml文件,在该文件中插入一个附加的连接定义来实现这一点。问题是,这样做会导致现有连接被取消部署,并在创建新连接的同时重新部署 从JBoss日志:Java 使用JBoss4.2.x,如何在不取消部署现有数据源的情况下部署新数据源?,java,deployment,jakarta-ee,jboss,Java,Deployment,Jakarta Ee,Jboss,EE应用程序的配置管理要求我们不时创建一个新的数据库连接数据源。我们现在通过修改deploy/[dbtype]-ds.xml文件,在该文件中插入一个附加的连接定义来实现这一点。问题是,这样做会导致现有连接被取消部署,并在创建新连接的同时重新部署 从JBoss日志: 12:52:13,096 INFO [ConnectionFactoryBindingService] Unbound ConnectionManager 'jboss.jca:service=DataSourceBinding,n
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'
是否有一种方法可以部署新的数据源或删除或修改现有数据源,而不必解除任何其他未受影响的数据源的绑定
编辑有人建议我们只在一个新文件中添加数据源,但这不起作用,至少不是开箱即用;如果我将core360aDS数据源添加到部署目录中名为core360aDS.xml的文件中,则会发出以下错误消息:
--- Packages waiting for a deployer ---
org.jboss.deployment.DeploymentInfo@3ccd9d83 { 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 ---
org.jboss.deployment.DeploymentInfo@3ccd9d83 { 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:
您可以将每个数据源存储在各自的文件中。这样可以避免取消部署正在修改的文件中的其他数据源。您可以简单地在数据源名称后命名数据源xml文件,从而便于查找和编辑必要的文件。您可以将每个数据源存储在各自的文件中。这样可以避免取消部署正在修改的文件中的其他数据源。您只需按照数据源名称命名数据源xml文件,就可以轻松找到和编辑所需的文件。正如Shiny先生和New先生在上文中提到的,正确的方法是放置数据 源在它们自己的文件中。诀窍是文件名必须一致 添加到jbossjca-service.xml部署器文件中支持的后缀
因此,为每个数据源创建一个名为foo ds.xml的新文件。正如Shiny先生和new先生在上文中提到的,正确的方法是放置数据 源在它们自己的文件中。诀窍是文件名必须一致 添加到jbossjca-service.xml部署器文件中支持的后缀 因此,为每个数据源创建一个名为foo-ds.xml的新文件