2013-08-31 3 views
1

Я пишу веб-приложение (Java/PostgreSQL), которое отлично работает на моем локальном хосте, но когда я пытаюсь развернуть его на экземпляре ec2 Amazon, я начинаю сталкиваться с трудностями.Развертывание Java EE webapp на экземпляре ec2

Я установил свою базу данных postgreSQL на свой экземпляр ec2 и перенастроил webapp, запущенный на моем локальном узле, для использования облачного db. Все идет нормально.

Когда я развертываю войну с экземпляром ec2 и пытаюсь запустить приложение, я получаю исключение java.lang.NullPointerException. Теперь первоначальное устранение неполадок, по-видимому, говорит о том, что мой запрос к базе данных виноват. который предлагает проблему с разрешением, но мои файлы _hba.conf широко открыты.

Мой вопрос: почему он будет работать нормально на локальном хосте, обращаясь к дБ, но не когда он сидит на одном хосте?

Что мне не хватает и как я должен решить эту проблему.

Полностью Стумпед

Ok - так она работает с затмением JVM, а не мой кот установить на локальном хосте.

Ниже приведена трассировка стека. Неудача, потому что ps = conn.prepareStatement (запрос) имеет значение

enter code here 

SEVERE: Servlet.service() for servlet [AddToEmailListServlet] in context with path [/Test_e] threw exception 
java.lang.NullPointerException 
    at data.UserDB.insert(UserDB.java:51) 
    at email.AddToEmailListServlet.doPost(AddToEmailListServlet.java:51) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

Aug 31, 2013 5:48:15 PM org.apache.catalina.core.ApplicationContext log 
INFO: Closing Spring root WebApplicationContext 
Aug 31, 2013 5:48:16 PM org.apache.catalina.core.ApplicationContext log 
INFO: SessionListener: contextDestroyed() 
Aug 31, 2013 5:48:16 PM org.apache.catalina.core.ApplicationContext log 
INFO: ContextListener: contextDestroyed() 
+0

Небольшой шанс получить помощь без stacktrace. –

ответ

1

Общая проблема. Проверьте, открыли ли вы порт в своей группе безопасности.

+0

Не могли бы вы быть более конкретными. У меня есть соответствующий порт, открытый в группе безопасности AWS. В противном случае я вообще не смог бы поговорить с дбом. Либо в eclipse, либо в pgAdmin3. Это не тот случай. Вы говорите об открытии другого порта? - который из? – user2263513

+0

Нет, если вы открыли порт в группе безопасности, достаточно. Это самая распространенная проблема, с которой сталкиваются люди. –

1

Спасибо за ваши ответы. Ваши ответы заставляли меня думать немного больше, и я решил вопрос, который у меня был.

Оказывается, что у меня был драйвер driver.jar в пути сборки, но не в папке lib.

Cheers

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