2017-02-09 5 views
1

Я пытаюсь настроить TomEE (7.0.2) на несколько виртуальных хостов для сред разработки и тестирования, те же приложения, как правило, будут развернуты на всех хостах. Я обнаружил из this сообщение, как избежать конфликтов именования JNDI, что в значительной степени решило проблему неудачных развертываний, но теперь у меня есть несколько других проблем.Несколько хостов TomEE с теми же проблемами развертывания приложений

Первая проблема заключается в том, что я все еще получаю следующие серьезные ошибки в журнале, хотя они, кажется, не влияют на работу приложения, я не знаю, как избавиться от них:

SCHWERWIEGEND - Jndi(name=global/webspi/DefaultStoredProcedureResolver) cannot be bound to Ejb(deployment-id=1774342742/ger400-q/2-webspi/webspi/DefaultDatasourceConnectorService). Name already taken by Ejb(deployment-id=-1143530541/ger400-t/1-webspi/webspi/DefaultStoredProcedureResolver 

Вторая проблема заключается в том, что один файл WAR не будет развертываться на одном из хостов (ger400-d ниже), если он не будет переименован первым. Он будет развертываться для всех остальных без проблем. Сообщение журнала генерируется так:

SCHWERWIEGEND - Error merging Java EE JNDI entries in to war /webspi: Exception: null java.lang.NullPointerException 

Добавляя «х» или что-то к имени файла WAR делает его развернуть правильно, хотя и с неправильным именем пути.

Последний вопрос в том, что остановка или отмены развертывания одного экземпляра приложения, нарушает все другие запущенные экземпляры, кажется, что RS фильтры Jax в настоящее время нарушается как-то:

javax.servlet.ServletException: Error processing webservice request 
     org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:98) 
     org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:65) 
     org.webspi.CORSFilter.doFilter(CORSFilter.java:61) 
root cause 
java.lang.NullPointerException 
     org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:252) 
     org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:251) 
     org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:94) 
     org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:65) 
     org.webspi.CORSFilter.doFilter(CORSFilter.java:61) 

Соответствующая часть server.xml является

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 
    </Host> 
    <Host name="ger400-d" appBase="/usr/tomee-webapps/d" unpackWARs="true" autoDeploy="true"> 
    <Alias>ger400-d.ourcompany.com</Alias> 
    </Host> 
    <Host name="ger400-t" appBase="/usr/tomee-webapps/t" unpackWARs="true" autoDeploy="true"> 
    <Alias>ger400-t.ourcompany.com</Alias> 
    </Host> 
    <Host name="ger400-q" appBase="/usr/tomee-webapps/q" unpackWARs="true" autoDeploy="true"> 
    <Alias>ger400-q.ourcompany.com</Alias> 
    </Host> 
    <Host name="ger400-r" appBase="/usr/tomee-webapps/r" unpackWARs="true" autoDeploy="true"> 
    <Alias>ger400-r.ourcompany.com</Alias> 
    </Host> 

Любые идеи, что может быть неправильным?

ответ

0

У меня также была эта проблема, но, будучи новым для Томе, я не знал, что есть простое решение. Когда я развернул свое веб-приложение в папке webapps, приложение отлично работало, но когда я развернул его в служебной папке, я получил тот же прерыв. Проблема заключалась в том, что имя папки не совпало с именем войны (минус .war). Как только я это исправил, приложение отлично работало. Убедитесь, что имя войны, имя папки и имя службы идентичны.

+0

Спасибо за ответ. В конце концов я отказался от этой идеи, так как у меня также возникли другие проблемы, когда несколько приложений будут вмешиваться, поэтому я решил запустить три независимых экземпляра TomEE и обратного прокси-сервера в правильном порядке. – Tim

Смежные вопросы