2013-01-15 12 views
5

Próbuję dodać plik XML źródła danych o nazwie oracle-ds.xml do folderu JBoss 7.1, aby projekty wdrażane na tym serwerze mogły korzystać z tego źródła danych.Rozmieszczanie pliku datasource.xml na Jboss 7.1

Zgodnie z wyjaśnieniem na jboss.org, należy umieścić ten plik w folderze wdrażania.

Tak właśnie zrobiłem. Ale w przeciwieństwie do tego, co powiedzieli w powyższym linku, mam mój słoik sterownika Orcale w moim lokalnym repozytorium maven. W każdym razie, maven jest w stanie zbudować projekt.

Teraz kiedy zrestartować JBoss, wydaje się, że chodzi oracle-ds.xml jako projekt (jar), które muszą być wdrożone, a nie jako plik konfiguracji xml ...

Oto wyjścia konsoli podczas Jboss "restart:

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 

Dlaczego tak się dzieje i co należy zrobić, aby poprawić to zachowanie?

Odpowiedz

6

Kopiowanie folderu oracle-ds.xml do standalone\deployments jest prawidłowym sposobem wdrożenia. Chociaż zaleciłbym zdefiniowanie źródła danych w standalone.xml lub w konsoli zarządzania lub w CLI zamiast osobnego pliku xml.

Problem polega na tym, że oracle-ds.xml nie sprawdza poprawności XSD. Jeśli spojrzysz na XSD dla źródła danych xml, przekonasz się, że w XSD nie ma elementu local-tx-datasource.

Aby rozwiązać ten problem, musisz upewnić się, że plik XML pomyślnie przejdzie sprawdzanie poprawności XSD. Alternatywnie można zdefiniować źródło danych w konsoli zarządzania lub poprzez interfejs CLI, aby uniknąć tworzenia go ręcznie i uruchamiania w tego typu problemach.

+0

Dzięki, jak uruchomić sprawdzanie poprawności mojego bieżącego xml? – rapt

+2

Możesz użyć narzędzia do sprawdzania poprawności Eclipse XSD. – CoolBeans

+1

@rapt Jeśli odpowiedź ci pomogła, wykonaj i zaakceptuj. Dziękuję Ci! – CoolBeans

Powiązane problemy