2013-01-15 10 views
5

Ich versuche, eine Datenquellen-XML-Datei mit dem Namen oracle-ds.xml zu meinem JBoss 7.1-Ordner hinzuzufügen, sodass Projekte, die ich auf diesem Server bereitstellen, diese Datenquelle verwenden können.Bereitstellen von datasource.xml auf Jboss 7.1

Wie es auf jboss.org erklärt wird, muss ich diese Datei in den Bereitstellungsordner legen.

Was ich gemacht habe. Aber im Gegensatz zu dem, was sie im obigen Link gesagt haben, habe ich meinen Orcale-Treiber in meinem lokalen Maven-Repository. Wie auch immer, Maven ist in der Lage, das Projekt zu bauen.

Nun, wenn ich Jboss neu zu starten, scheint es, wie es oracle-ds.xml als Projekt (jar) in Bezug auf die entfaltet werden muss, nicht als XML-Einstellungsdatei ...

Hier einige der Konsolenausgabe während Jboss ist 'Neustart:

15:58:16,666 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "oracle-ds.xml" 
15:58:16,728 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC00001: Failed to start service jboss.deployment.unit."oracle-ds.xml".PARSE: org.jboss.msc.se 
rvice.StartException in service jboss.deployment.unit."oracle-ds.xml".PARSE: Failed to process phase PARSE of deployment "oracle-ds.xml" 
     at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final] 
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_29] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_29] 
     at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_29] 
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: IJ010061: Unexpected element: local-tx-datasource 
     at org.jboss.as.connector.deployers.processors.DsXmlDeploymentParsingProcessor.deploy(DsXmlDeploymentParsingProcessor.java:85) 
     at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final] 
     ... 5 more 
Caused by: org.jboss.jca.common.metadata.ParserException: IJ010061: Unexpected element: local-tx-datasource 
     at org.jboss.jca.common.metadata.ds.DsParser.parseDataSources(DsParser.java:183) 
     at org.jboss.jca.common.metadata.ds.DsParser.parse(DsParser.java:119) 
     at org.jboss.jca.common.metadata.ds.DsParser.parse(DsParser.java:82) 
     at org.jboss.as.connector.deployers.processors.DsXmlDeploymentParsingProcessor.deploy(DsXmlDeploymentParsingProcessor.java:80) 
     ... 6 more 

Warum passiert es und was soll ich tun, um dieses Verhalten zu korrigieren?

Antwort

6

Das Kopieren des Ordners oracle-ds.xml in den Ordner standalone\deployments ist die richtige Methode für die Bereitstellung. Obwohl ich empfehlen würde, die Datenquelle in der Standalone.xml oder in der Management Console oder in CLI statt einer separaten XML-Datei zu definieren.

Das Problem hier ist, dass oracle-ds.xml die XSD-Validierung fehlschlägt. Wenn Sie sich die XSD für die Datenquelle xml ansehen, finden Sie, dass es kein local-tx-datasource Element in der XSD gibt.

Um dies zu beheben, müssen Sie sicherstellen, dass Ihre XML-Datei die XSD-Validierung besteht. Alternativ können Sie die Datenquelle in der Verwaltungskonsole oder über CLI definieren, um zu vermeiden, dass sie manuell erstellt wird und diese Probleme auftreten.

+0

Danke, wie kann ich eine Validierung für meine aktuelle XML ausführen? – rapt

+2

Sie können das Eclipse XSD-Validierungstool verwenden. – CoolBeans

+1

@rapt Wenn die Antwort Ihnen geholfen hat, bitte upvote und akzeptieren. Vielen Dank! – CoolBeans

Verwandte Themen