Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JBoss4.2.x,如何在不取消部署现有数据源的情况下部署新数据源?_Java_Deployment_Jakarta Ee_Jboss - Fatal编程技术网

Java 使用JBoss4.2.x,如何在不取消部署现有数据源的情况下部署新数据源?

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

EE应用程序的配置管理要求我们不时创建一个新的数据库连接数据源。我们现在通过修改deploy/[dbtype]-ds.xml文件,在该文件中插入一个附加的连接定义来实现这一点。问题是,这样做会导致现有连接被取消部署,并在创建新连接的同时重新部署

从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'
是否有一种方法可以部署新的数据源或删除或修改现有数据源,而不必解除任何其他未受影响的数据源的绑定

编辑有人建议我们只在一个新文件中添加数据源,但这不起作用,至少不是开箱即用;如果我将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的新文件