-1

データベースへの接続ロジックの一部を管理し、データをメモリに保存する jar ライブラリ util があります。$CATALINA_HOME/conf/context.xml でデータソースを構成でき、すべてが正常に機能するため、これは tomcat で正常に機能します。

jboss (4.2.3.GA) でデータソースを構成するにはどうすればよいですか? すべての戦争、耳、または展開されたアプリで見ることができます。もちろん、この jar util は $JBOSS_HOME/server/< instance >/lib に展開されていますか?

ありがとう :)

アップデート:

私は具体的にやりたい:

"2a. 共有リソースの構成

複数の JBoss Web アプリケーションで共有されるデータソースを定義する場合、またはこのファイルでデータソースを定義したい場合は、このオプションを使用します。

この著者はここで成功していませんが、他の人はそう報告しています. ここで明確化していただければ幸いです

<Resource name="jdbc/postgres" auth="Container"
          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
          url="jdbc:postgresql://127.0.0.1:5432/mydb"
          username="myuser" password="mypasswd" maxActive="20" maxIdle="10" maxWait="-1"/>

ソース: https://docs.jboss.org/jbossweb/2.1.x/jndi-datasource-examples-howto.html

さて、私は「ここで説明をいただければ幸いです」の一部です...

4

2 に答える 2

3

JBoss データソースの作成

データソース設定 (*-ds.xml ファイル) を $JBOSS_HOME/sever/< server-name >/deploy ディレクトリに追加します。

この StackOverflow の回答に詳細があります: JBoss アプリケーション サーバーで DataSource を作成する方法

リンクは JBoss 5 用ですが、4.2.3 と 5 の間でデータソースの構成が大きく変わったとは思いません。

Tomcat リソース リファレンスの構成

JBoss データソースを指すように Tomcat リソース参照を設定します。この構成は、JBoss データソースから接続を取得するために、JNDI 名でデータソースを識別します。

この StackOverflow の質問に対する受け入れられた回答のステップ 1 に詳細があります: JNDI パス Tomcat vs. Jboss

Resource 設定は、JBoss 定義を再利用するのではなく、新しいデータ ソースを定義していることに注意してください。

JNDI を使用してデータ ソースをルックアップする

同じ回答でこれを行う方法が説明されていますが、ルックアップが EJB コンテナーの外部のクライアント コード内から実行されるか、EJB コンテナー内のコードから実行されるかによって、URI がわずかに異なることに注意してください。

于 2014-11-13T12:29:16.203 に答える
0

わかりました、これは私が調査するのに約1週間かかりました:

  1. *-ds.xml ファイルを作成します。

  2. データソース定義で、次のタグを追加します。

< use-java-context >false< /use-java-context >

  1. 次に、Java コードで次のように呼び出すことができます。

            Properties env = new Properties();
    
            env.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
            env.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
            env.setProperty(Context.PROVIDER_URL, "localhost:1100");
    
            initialContext = new InitialContext(env);
    
            DataSource datasource = (DataSource) initialContext.lookup("myCustomDs");
    
于 2014-11-17T20:18:19.563 に答える