Google App Engineアプリケーションを開発しています。本番環境ではGoogle Cloud SQLの使用を計画していますが、開発段階ではh2データベースを使用したいと考えていました。これは、サーバー対応の1(jdbc:h2:~/folder/dev;AUTO_SERVER=TRUE
)と、それが次のエラーで失敗し、メモリ内および埋め込まデシベル(jdbc:h2:mem/dev
/jdbc:h2:~/folder/dev
)を使用した場合正常に動作しなく:Google App Engineでのローカル開発にh2データベースを使用する
org.h2.jdbc.JdbcSQLException: IO Exception: "java.net.SocketException: Permission denied: Not allowed to issue a socket bind: permission denied."; "port: 0 ssl: false" [90031-168]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convertIOException(DbException.java:315)
at org.h2.util.NetUtils.createServerSocketTry(NetUtils.java:193)
at org.h2.util.NetUtils.createServerSocket(NetUtils.java:156)
at org.h2.server.TcpServer.start(TcpServer.java:222)
at org.h2.tools.Server.start(Server.java:455)
at org.h2.engine.Database.startServer(Database.java:672)
at org.h2.engine.Database.open(Database.java:544)
at org.h2.engine.Database.openDatabase(Database.java:222)
at org.h2.engine.Database.<init>(Database.java:217)
at org.h2.engine.Engine.openSession(Engine.java:56)
at org.h2.engine.Engine.openSession(Engine.java:159)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138)
at org.h2.engine.Engine.createSession(Engine.java:121)
at org.h2.engine.Engine.createSession(Engine.java:28)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:305)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:108)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:92)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
私は理解しているように、これはGAEのですアプリケーションの実行中にデータベースに簡単にアクセスできなくなります。ローカルサーバーモードでのみこの問題を回避する方法はありますか?私はdevのモードでMySql dbを使用する代わりに、好奇心が強いです。