Ошибка, развертывающая приложение Spring на Jboss из-за ClassCastException

При создании Виртуальной сети в Hyper V можно выбрать:

  • Внешний: VMs, присоединенные к этой сети, считаются, присоединяя к той же сети Hyper V подключений сервера к
  • Внутренний: Hyper V серверов создают внутреннюю сеть, не подключенную к физической сети всегда, но VMs, подключенному к нему, может достигнуть друг друга.
  • Частный: любые VMs, подключенные к этой сети, полностью изолируются и могут только видеть себя

У Вас есть две настройки для управления здесь. Сеть, созданная в консоли Hyper V И сети, выбранной для каждого отдельного VM. Если каждый VM подключен к сети "Private", нет никакой причины, они/могут, у всех есть тот же IP.

Для ответа на другой вопрос, для Внутренних и Частных сетей, Hyper, V серверов присвоят внутреннего дюйм/с тем машинам. Для внешнего VMs получит дюйм/с (или не) точно так же, как любая рабочая станция, которую Вы могли бы подключить к той сети.

** Примечание: у Вас должен быть минимум 2 физических сетевых адаптеров в Вашем Hyper V серверов, согласно лучшим практикам. Один для самого сервера, и один для каждой Внешней сети Вы хотите создать для трафика VM. Я никогда не пытался только использовать один NIC, поскольку там, как говорят, непредсказуемые результаты в этом сценарии.

2
задан 20 July 2009 в 18:28
3 ответа

От второй строки:

java.lang.RuntimeException: Specification violation [EJB3 JPA 6.2.1.2] - 
      You have not defined a jta-data-source for a JTA enabled persistence 
      context named: ehr-punit

Эта строка здесь отчасти предлагает решение одной из Ваших проблем. Попытайтесь создать jta-источник-данных, названный ehr-punit.

Это могло быть значительным отвлекающим маневром, поскольку я не знаю о JTA или JBoss.

Немного далее вниз Вы имеете:

org.springframework.beans.factory.BeanDefinitionStoreException: 
  Unexpected exception parsing XML document from ServletContext resource 
  [/WEB-INF/applicationContext.xml]; nested exception is 
  java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
  cannot be cast to javax.xml.parsers.DocumentBuilderFactory

Это означает, что Spring пытается ввести DocumentBuilderFactoryImpl в метод, который ожидает javax.xml.parsers. DocumentBuilderFactory. Очевидно первый не реализует или расширяет последнего. Я попытался бы использовать версию различия xerces, чтобы видеть, изменилось ли это недавно.

1
ответ дан 3 December 2019 в 13:38
  • 1
    Хорошо, первая ошибка я уже решил, таким образом, don' t ум (я развернул старую версию, мою ошибку). Второй я думаю, что это - несовместимость между xerces, который прибывает в Jboss 5.1 и xml-api, что, я думаю, требуется, в спящем режиме. И когда я развертываюсь, эти две библиотеки вместе jboss жалуется. То, что я действительно хотел, было способом изолировать ClassLoder этого приложения способом, что при развертывании этого приложения jboss будет использовать xerces, который идет с ним. Я пытался определить новый classLoader в jboss-web.xml, но этом didn' t работа. Есть ли иначе? –  Rafael 20 July 2009 в 20:32

Для второго исключения попытайтесь поместить xercesImpl.jar в подтвержденный dir jboss.

Каковы Java и jboss версии?

0
ответ дан 3 December 2019 в 13:38

Относительно ошибки java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl cannot be cast to javax.xml.parsers.DocumentBuilderFactory...

Существует, по-видимому, некоторый конфликт между банкой (xercesImpl?), что JBoss обеспечивает и что-то упакованное в Вашем приложении. (Я нахожусь на JBoss 5),

Сканирование моих банок приложения для DocumentBuilderFactory, мое единственное использование его прибывает из xml-apis.jar, который зависимость dom4j, который является зависимостью hibernate-core. После удаления той банки из моего приложения, (таким образом полагающийся на JBoss для обеспечения соответствующий класс) я могу сделать его мимо той ошибки.

И теперь я иду к другой ошибке :)

0
ответ дан 3 December 2019 в 13:38

Теги

Похожие вопросы