問題タブ [ejb-3.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JBoss/EJB - カスタム構成ファイルの場所
JBoss で EJB ベースのシステムを実装しています。
私のメッセージ駆動型 Bean の 1 つは、電子メールの送信を担当します。コードを変更したり、Bean を再デプロイしたりしなくても簡単に変更できるように、電子メール テンプレートを外部に (おそらく XML として) 保存したいと考えています。
このファイルをどこに配置し、どのように参照すればよいですか?
oracle - オラクルの壊れたシーケンス
EJB3、JBoss AS 4.2.1、および Oracle 10g を使用しています。問題は、AS に展開するたびにシーケンスが壊れていることです。例: ヒキガエルのシーケンスを見ていると、最後の値は 41 ですが、新しいエントリに設定されている実際の ID は 1050 です。この問題について何か考えや既知のバグはありますか? ありがとう。
methods - 読み取り専用メソッドの EJB 3 トランザクション属性
このメソッドに使用する必要がある、多くのデータを返すメソッドがあります@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
。このメソッドは JPA クエリを実行し、テーブルの全コンテンツ (約 1000 行) をロードします。
java - EJBファクトリクラス
次のように機能するEJBファクトリクラスを作成しようとしています。引数としてEJBのクラスを受け取るメソッドがあり、EJBにリモートインターフェイスがあるかどうか(例外をスローしない場合)と、します、それは関係するEJBを返します。
以下のコードはまさにこれを行います。ただし、返されるオブジェクトは、関連するBeanのリモート・インターフェースのタイプであり、Bean自体のタイプではありません。どうすればこれを変更できますか?ジェネリック型Tがメソッドに渡されるクラスと同じ型であることをJavaに伝える方法はありますか?
}
Factoryを使用した単体テストの例。
注:この例はGlassfishで機能しますが、他のアプリサーバーではテストしていません。
java - ejb3 の準備済みステートメント
ejb3 でプリペアド ステートメントを使用して、Oracle にデータを挿入したいと考えています。使用可能ですか。
ネットで例を見つけようとしましたが、良い例が見つかりませんでした。
使い方を教えてください。または、ejb3 でパラメーター クエリを使用する他の方法はありますか (プリペアド ステートメントで ? を使用するため)。
感謝と敬意
java - EJB で ROWLOCK を使用する方法
MS SQL Server でデッドロックが発生するという問題があります。同じコードが MySQL で問題なく実行されます。
私の問題は、(デバイスに関連付けられている) ジョブを削除する要求を受け取り、その後、同じデバイス用の新しいジョブを作成する要求を受け取ることです。ほとんどの場合、これは問題なく機能しますが、デバイスの新しいジョブを作成する要求を受け取ったときに、削除要求が完了していないことがあり、デッドロックが発生します。
アプリケーションは JBoss で実行されており、メッセージ キューからリクエストを受け取ります。
おそらく rowlock キーワードを使用して MSSQL の問題を解決できることがわかりましたが、名前付きクエリを使用し、同時に MySQL をサポートしている場合、これを有効にするにはどうすればよいですか?
または、同じデバイスに対して次のリクエストを実行する前に、1 つのリクエストが確実に終了するようにする他の方法はありますか?
一部を削除したスタックトレースは次のようになります。
java - デプロイ時に EJB タイマーを開始する方法は?
週に 1 回自動的に実行するように設定されたインターバル タイマーを作成する必要があります。ユーザー入力に基づいて開始するのではなく、アプリケーションがサーバーにデプロイされたときに作成されるようにしたい。私が見たすべての例には、タイマーを開始する別のクラスがあります。メッセージ駆動型 Bean を使用してタイマーを作成したくありません。これは、監査が特定の期間データベースにクエリを実行するだけであり、メッセージを送信するアクションに基づいていないためです。
タイマーの例を含めました。以下の例では、タイマーは 10 分ごとに起動する必要があります。テストとして、タイマーをテストできるように、タイマーを 10 分ごとに起動させます。
アプリケーションのデプロイ時にこのタイマーを開始する方法はありますか? サーバーにクラスローダーがあるため、タイマーの作成を @PostConstruct メソッドに入れるのは良い考えではないと思います。
java - 保存または更新の問題
サーバー (jboss.4.2.1.GA) 側にスイング クライアントと Java アプリを持つアプリケーションがあります。ejb3 を使用しています。私たちのアプリケーションでは、ある時点で請求書を正常に作成してユーザーに表示していますが、ユーザーが請求書を変更しようとすると、次のエラーが発生します。請求書をリロードした後、ユーザーはエラーなしで請求書を変更できます。請求書作成コード、請求書変更、完全なエラー スタックは次のとおりです。
jsf - JSF マネージド Bean からの @EJB の呼び出し
JDeveloper 11g を使用しています。ADF フュージョンを利用する Model と ViewController プロジェクトの両方。
私の web-xml には、ステートフル セッション EJB の EJB 参照があります。faces-config で宣言されているマネージド Bean があります。
マネージド Bean 内から EJB にアクセスしようとしています。
私は宣言する
メソッドでこれにアクセスする場合、locationServices は null です。コンソールに JNDI タイプの問題は見られないので、ルックアップすることさえ気にならないと思います。
インジェクションなどを有効にする必要がありますか?または、faces-config で「locationServices」を管理プロパティとして定義する必要がありますか?
お知らせ下さい。ありがとう