gpt4 book ai didi

java - 我如何在 JBoss AS 5.1.0.GA 中配置 JDBC 数据源?

转载 作者:行者123 更新时间:2023-11-30 06:37:01 25 4
gpt4 key购买 nike

有人可以指出或发布为 JBoss 5.1.0.GA 配置数据源的示例吗?

当我尝试使用 JNDI 将数据源连接到我在 JBoss 5.1.0.GA 中的 Web 应用程序时出现以下错误。

startup failed due to previous errors java.lang.RuntimeException: mapped-name is required for jdbc/jos of deployment jos-services-1.0.0-SNAPSHOT.war

我的 /WEB-INF/web.xml 包含以下资源引用:

<resource-ref>
<res-ref-name>jdbc/jos</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

我已经配置了 /META-INF/jboss-web.xml 如下:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web
xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.jboss.com/xml/ns/javaee
http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd"
version="5.1">
<context-root>/services</context-root>
<resource-ref>
<res-ref-name>jdbc/jos</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:jos</jndi-name>
</resource-ref>
</jboss-web>

而定义数据源的jos-ds.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE datasources
PUBLIC "-//JBoss//DTD JBOSS JCA Config 5.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss-ds_5_0.dtd">
<datasources>
<xa-datasource>
<jndi-name>jos</jndi-name>
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
<xa-datasource-property name="URL">${ie.courts.jos.datasource.url}</xa-datasource-property>
<user-name>${ie.courts.jos.datasource.username}</user-name>
<password>${ie.courts.jos.datasource.password}</password>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<min-pool-size>5</min-pool-size>
<max-pool-size>100</max-pool-size>
<blocking-timeout-millis>2000</blocking-timeout-millis>
<idle-timeout-minutes>2</idle-timeout-minutes>
<track-connection-by-tx />
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<!--new-connection-sql></new-connection-sql-->
<!--check-valid-connection-sql></check-valid-connection-sql-->
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</xa-datasource>
</datasources>

我得到的堆栈跟踪是:

14:17:17,573 ERROR [StandardContext] Context [/jos-services-1.0.0-SNAPSHOT] startup failed due to previous errors java.lang.RuntimeException: mapped-name is required for jdbc/jos of deployment jos-services-1.0.0-SNAPSHOT.war       at org.jboss.web.tomcat.service.injection.WebResourceHandler.loadXmlResourceRefs(WebResourceHandler.java:178)       at org.jboss.web.tomcat.service.injection.WebResourceHandler.loadXml(WebResourceHandler.java:327       at org.jboss.web.tomcat.service.TomcatInjectionContainer.processMetadata(TomcatInjectionContainer.java:550)       at org.jboss.web.tomcat.service.WebCtxLoader.start(WebCtxLoader.java:158)       at org.apache.catalina.core.StandardContext.start(StandardContext.java:4272)       at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310)>       at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)       at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)       at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)       at org.jboss.web.deployers.WebModule.start(WebModule.java:97)       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)       at java.lang.reflect.Method.invoke(Method.java:592)       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)       at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)       at $Proxy38.start(Unknown Source)       at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)       at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)       at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)       at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)       at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)       at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)       at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)       at org.jboss.system.ServiceController.doChange(ServiceController.java:688)       at org.jboss.system.ServiceController.start(ServiceController.java:460)       at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)       at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)       at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)       at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)       at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)       at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)       at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)       at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)       at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)       at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)       at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)       at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)       at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)       at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)       at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)       at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)       at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)       at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)       at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)       at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)       at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)       at org.jboss.Main.boot(Main.java:221)       at org.jboss.Main$1.run(Main.java:556)       at java.lang.Thread.run(Thread.java:595)

最佳答案

该错误具有误导性,至少对我而言是这样,真正的罪魁祸首是 XSD 版本。将 XSD 5.1 更改为 DTD 5.0,它不再提示 mapped-name

下面是我现在使用的 WEB-INF/jboss-web.xml:(jboss-web.xml 需要是 WEB-INF你的网络应用)

<?xml version="1.0"?>                                                                                                                             
<!DOCTYPE jboss-web PUBLIC
"-//JBoss//DTD Web Application 5.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
<jboss-web>
<context-root>/context_name</context-root>
<resource-ref>
<res-ref-name>jdbc/jndi_name</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:jndi_name</jndi-name>
</resource-ref>
</jboss-web>

虽然这是个老问题,但我想提一下我是如何用 JBoss 5.1.0 GA 解决同样问题的,这样有人可能会觉得它有用

关于java - 我如何在 JBoss AS 5.1.0.GA 中配置 JDBC 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4043447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com