Amazon ec2 で Glassfish 3.1.2.2 インスタンスを実行しています。jax-rs に Web アプリ「KowricService」Web サービスがあります。最近、いくつかの列 (Facebook_id、LinkedIn_id、Twitter_id、Gmail_id) を Java derby のテーブル Users に追加しました。この前に、私のアプリケーションはエラーなしで正常に動作します。warファイルをデプロイすると、データベースが実行されていないときに通常発生するグラスフィッシュ管理者でConnectionExceptionエラーが発生することに気付きました。データベースが実行されている間、デプロイするたびにエラーが発生し、ダービーをシャットダウンすることがあります。正常にデプロイされ、しばらくするとシャットダウンします。原因は何ですか? 私が作成した余分な列でしょうか?これは私のエラースタックの一部です。
[#|2013-11- 14T16:19:24.439+0000|INFO|glassfish3.1.2|org.eclipse.persistence.session.file:/home/ubuntu/ glassfish3/glassfish/domains/domain1/applications/KowricService/WEB-INF/classes/$
Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException : Error connecting to server $
Error Code: 0
Call: SELECT USER_ID, EMAIL, FACEBOOK_ID, FIRST_NAME, GOOGLE_ID, LAST_NAME, LINKEDIN_ID, PASSWORD, STATUS, TWITTER_ID, USER_TYPE FROM USERS
Query: ReadAllQuery(referenceClass=Users sql="SELECT USER_ID, EMAIL, FACEBOOK_ID, FIRST_NAME, GOOGLE_ID, LAST_NAME, LINKEDIN_ID, PASSWORD, STATUS, TWITTER_ID, USER_TYPE FROM USERS").$
エラー スタック トレースでは、WebService クラスの rest リソース メソッドを指しています。
org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:485)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:742)
at rest.UserResource.userList(UserResource.java:613)
メソッドは次のようになります。
@GET
@Produces(MediaType.APPLICATION_XML)
@Path("/userslist")
public List<Users> userList(){
return em.createQuery("select u from Users u ").getResultList();
}
これによりエラーが発生する理由を追加の列を追加したかどうか疑問に思っています。解決にご協力ください。
編集:
i read further into the stack trace and noticed a ConnectionPool Exception,i actually have 2 copies of a JNDI resource pointing to the same pool,could this be the reason;
Caused by: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException : Error connecting to server 54.200.6.$
at com.sun.gjc.spi.base.DataSource.getConnection(DataSource.java:120)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:123)
... 122 more
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:123)
... 122 more
Caused by: javax.resource.spi.ResourceAllocationException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException : Error conne$
at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManager Impl.java:307)
at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImp l.java:190)
at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImp l.java:165)
at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImp l.java:160)
at com.sun.gjc.spi.base.DataSource.getConnection(DataSource.java:113)
... 123 more