Java JBoss中数据库的动态切换

Java JBoss中数据库的动态切换,java,jboss,Java,Jboss,是否可以在JBoss中动态切换DB(加载XML或切换到其他数据源)?如果是这样的话,那么如何执行?JBoss部署目录包含热部署服务(可以添加到正在运行的服务器或从中删除的服务)。它还包含当前服务器配置的应用程序。您可以通过将应用程序包(JAR、WAR和EAR文件)放置在deploy目录中来部署应用程序代码。不断扫描目录以获取更新,任何修改的组件都将自动重新部署 因此,如果您在运行时更改数据源文件,它将自动重新部署。您将在不重新启动服务器的情况下获得更改的效果。您可以通过触摸部署目录中的-DS.x

是否可以在JBoss中动态切换DB(加载XML或切换到其他数据源)?如果是这样的话,那么如何执行?

JBoss部署目录包含热部署服务(可以添加到正在运行的服务器或从中删除的服务)。它还包含当前服务器配置的应用程序。您可以通过将应用程序包(JAR、WAR和EAR文件)放置在deploy目录中来部署应用程序代码。不断扫描目录以获取更新,任何修改的组件都将自动重新部署


因此,如果您在运行时更改数据源文件,它将自动重新部署。您将在不重新启动服务器的情况下获得更改的效果。

您可以通过触摸部署目录中的-DS.xml文件,扫描程序将重新部署数据源描述符。我想知道你为什么要这么做?如果您正在两个数据库之间“切换”,为什么不为这两个数据库部署描述符呢??在一个-DS.xml文件中,还是作为两个独立的-DS.xml文件?或者,您是说您正在使用一个名为“XXX”的JPA持久性,它指的是两个不同的数据库。

我的意思是,在不重新启动服务器的情况下,我需要切换数据库您是否在部署目录中有DS文件?DS是指数据源文件,有一个像'-ds.xml'这样的扩展名。通过它连接到数据库,您应该一次定义一个数据源。现在请仔细阅读我的答案。让我们一起更改ds文件。服务器控制台中出现以下异常。它首先解除了我的数据源的绑定,然后又恢复了原来的状态。org.jboss.util.NestedSQLException:您正在尝试使用已关闭的连接工厂:ManagedConnectionFactory为空。;-nested throwable:(javax.r esource.ResourceException:您正在尝试使用已关闭的连接工厂:ManagedConnectionFactory为空。)以下是详细日志:-18:21:17198信息[ConnectionFactoryBindingService]未绑定的ConnectionManager'jbo ss.jca:service=DataSourceBinding,name=SAGDataSource'从JNDI名称“SAGDataSource”18:21:18057信息[WrapperDataSourceService]绑定连接管理器“jboss.jca:se-service=DataSourceBinding,name=SAGDataSource”到JNDI名称“SAGDataSource”18:21:58944警告[iLogistics]null org.jboss.util.NestedSQLException:您正在尝试使用连接工厂。。。