この質問が繰り返されるようであればよろしいですが、私は既存の投稿の検索結果から実行可能な解決策を見つけられませんでした。eclipseでGWT/Jettyとの接続プールを設定するにはどうすればよいですか?
私はJDBC接続プールを使用するWebアプリケーションを持っています。接続プールリソースは、warファイルのmeta-inf/context.xmlに定義されています。 warファイルをtomcatにデプロイすると、このファイルはtomcatのconf/catalina/localhostフォルダにコピーされます(そしてwarファイルの名前と一致するように名前が変更されます)。
Context envCtx = (Context) new InitialContext().lookup("java:comp/env");
datasource = (DataSource) envCtx.lookup("jdbc/MYDB");
と私のcontext.xmlは、定義された以下のリソースがあります:私のコードは次のような接続のデータソースオブジェクトを取得warファイルをTomcatにデプロイされたとき
<Resource name="jdbc/MYDB"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
username="username"
password="password"
url="jdbc:sqlserver://myremote.database.server:1433;databaseName=testdb"
/>
このすべてがうまく機能します。
しかし、eclipseでの開発中やGWTの依存関係のために、私はしばしばGWTに組み込まれたjettyコンテナを使用してデバッグする必要があります。私はこれを行うと
、InitialContextの()の呼び出しは、次のメッセージで失敗します。
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
私は戦争のWEB-INFに桟橋-env.xmlを使用しようとしましたが、それはどちらか(同じ動作しませんでしたエラー)、おそらくjetty-env.xmlなどの構文エラーです。ここで
は私の桟橋-ENVである:私は桟橋-web.xmlに桟橋-env.xmlの名前を変更した場合は、<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<New id="OTMFTDB" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg></Arg>
<Arg>jdbc/MYDB</Arg>
<Arg>
<New class="net.sourceforge.jtds.jdbcx.JtdsDataSource">
<Set name="User">username</Set>
<Set name="Password">password</Set>
<Set name="DatabaseName">testdb</Set>
<Set name="ServerName">myremote.database.server</Set>
<Set name="PortNumber">1433</Set>
</New>
</Arg>
</New>
</Configure>
最後に一つ、私はとき503 HTMLのエラーを取得します私はブラウザに接続しようとします。 (Eclipseに次のエラーが表示されます: [WARN]コンテキストcom.g[email protected]111a20c {/、E:\ dev \ src \ servers \ webservice \ war}の起動に失敗しました java .lang.ClassNotFoundException:org.eclipse.jetty.server.Server)
私はjetty-envが読み込まれていないと思いますが、jetty-webはそうですが、私のjetty-webは明らかにjettyのGWTの設定に干渉します。
詳細な回答ありがとうございます!私はそれを試して、それは私のために動作しませんでした。私は、これは、このSOの答え(https://stackoverflow.com/a/17592318)に基づいて、私がJetty 8.1.12を使用していると信じている、新しいGWT(2.6.0)を使用しているからです。私は設定ファイルとクラス名が違うと信じていますが、Jetty 8のマニュアルをオンラインで見つけることができませんでした(Jetty 9.3.xのみ利用可能です)。とにかく私はJetty 9(ここ:https://www.eclipse.org/jetty/documentation/9.3.x/using-jetty-jndi.html)の指示に従ってみるつもりです。あなたが洞察力を持っているなら、私と共有してください。 – leeyuiwah