2010-10-28 5 views
2

Quelqu'un pourrait-il m'indiquer ou afficher un exemple de configuration d'une source de données pour JBoss 5.1.0.GA? Je rencontre l'erreur suivante lorsque j'essaie de connecter une source de données à mon application Web dans JBoss 5.1.0.GA à l'aide de JNDI.Comment configurer une source de données JDBC dans JBoss AS 5.1.0.GA?

démarrage a échoué en raison d'erreurs précédentes java.lang.RuntimeException: nom cartographié est nécessaire pour jdbc/jos de déploiement jos-services-SNAPSHOT.war 1.0.0

Mon /WEB -INF/web.xml contient la référence des ressources suivantes:

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

J'ai configuré /META-INF/jboss-web.xml comme suit:

<?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> 

Et le jos-ds.xml fichier qui définit la source de données est la suivante:

<?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> 

La trace de la pile que je reçois est:

 
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) 
+0

une mise à jour concernant ce problème? – Rudy

+0

J'ai fini par passer le projet à JBoss AS6. C'était une preuve de concept, donc j'ai eu une certaine flexibilité de la part du client pour changer la plate-forme. –

Répondre

5

Cette erreur est trompeur, au moins dans mon cas, et le coupable réel étant la version XSD. Changez le XSD 5.1 en DTD 5.0 ​​et il ne se plaindra plus du mapped-name.

est inférieure à la WEB-INF/jboss-web.xml Je suis maintenant à l'aide: (a besoin jboss-web.xml être WEB-INF de votre webapp)

<?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> 

Bien que ce soit un peu ce que vieille question, je ne suis pas de mentionner comment je résolu le même problème avec JBoss 5.1.0 GA, de sorte que quelqu'un peut trouver utile

0

Souldn't vous utilisez un tel nom JNDI (dans le fichier jboss-web.xml):

<jndi-name>java:/jos</jndi-name> 
Questions connexes