問題タブ [transactional]
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.
architecture - トランザクションのキューイング/デキューイング
外部システムのイベントとタスクを、信頼できる/トランザクション的な方法でキューに入れる必要があります。MSMQ や ActiveMQ などの使用は非常に魅力的に見えますが、トランザクション部分は複雑になります (MSDTC など)。
データベース (SQL Server 2005 以降、Oracle 9 以降) を使用して、より簡単なトランザクション サポートを実現することもできますが、キューイング部分は見苦しくなります。
どちらのルートもそれほど素晴らしいようには見えず、厄介な落とし穴やエッジ ケースでいっぱいです。
誰かがこの問題について実用的なガイダンスを提供できますか?
考えてみてください: E/C/A またはスケジュールされたタスク エンジンが頻繁に起動し、現時点で実行する必要があるスケジュールされたタスクがあるかどうかを確認します (つまり、次の実行日は過ぎていますが、有効期限はまだ過ぎていません)。達した)。
.net - スレッドのグループがいつ完了したかを検出するためのベスト プラクティス
スレッドのグループ全体の処理が完了したことを検出するためのベスト プラクティスは何ですか? [長時間実行] Web サービスに任意の数のオブジェクトを照会し、それらすべてが正常に完了したときにトランザクション アクションを実行する必要があるプロセスがあります。現在、.Net スレッド プールのデリゲートを使用して、それらを非同期で実行しています。それらを同期的に実行すると、複数のスレッドで実行する目的が無効になります...すべてが終了したことを他にどのように検出できますか? 私はカウンター(別名COM参照カウント)を使用して、開始するスレッドに到達するためにそれをインクリメントし、コールバック関数でそれをデクリメントし、各スレッドへの参照を含む動的リストを保持して、それぞれを明示的に追跡することを考えましたそれらが完了すると、しかし、これらのソリューションはどちらもちょっとぎこちないようです...
すべてのおかげで... yr の提案に基づいて、オブジェクト インスタンスを非同期スレッド (以下の ref 変数 uPL で表される) に渡す必要があるため、次のコードを使用しています... 注: IEEDAL.GetUsagePayloadReadings(uPL1)リモート Web サービス呼び出しです
sql-server - SQLServerの2層レプリケーション-トランザクション/マージ-行がダウンしない
トランザクションパブリケーション(テーブルのみ)を含むデータベースを持つSQL2000インスタンスがあります。SQL2005インスタンスによってサブスクライブされます-問題ありません。
このトランザクションサブスクリプションのテーブルの一部をマージパブリケーションで公開する必要があります。現在、SQL2005インスタンスの別のデータベースをマージサブスクライバーとして使用しています。
セットアップは次のようになります。
SQL2000-(トランザクション)-> SQL2005-1-(マージ)-> SQL2005-2
SQL2000パブリケーションの最初のスナップショットは、SLQ2005-2マージサブスクライバーにまで及びます。
SQL2000側で行を更新または挿入すると、中央のSQL2005-1データベースに到達します。ただし、これらの行はSQL2005-2データベースに伝播されません。SQL2005-1データベースの行を手動で挿入または更新すると、変更が反映されます。
トランザクションサブスクリプションが挿入または更新を実行するときに、マージパブリケーションが機能する更新または挿入トリガーが呼び出されていないようです。
どうすればこれを機能させることができますか?どんな助けでも大歓迎です!
java - 春-@Transactional-バックグラウンドで何が起こりますか?
メソッドにアノテーションを付けたときに実際に何が起こるか知りたい@Transactional
ですか?もちろん、Springがそのメソッドをトランザクションでラップすることは知っています。
しかし、私には次の疑問があります。
- Springがプロキシクラスを作成すると聞きましたか?誰かがこれをもっと深く説明できますか?そのプロキシクラスには実際に何が存在しますか?実際のクラスはどうなりますか?そして、Springが作成したプロキシクラスをどのように見ることができますか
- また、Springのドキュメントで次のことを読みました。
注:このメカニズムはプロキシに基づいているため、プロキシを介して着信する「外部」メソッド呼び出しのみがインターセプトされます。つまり、「自己呼び出し」、つまりターゲットオブジェクト内のメソッドがターゲットオブジェクトの他のメソッドを呼び出すと、呼び出されたメソッドに
@Transactional
!のマークが付いていても、実行時に実際のトランザクションが発生することはありません。
出典:http ://static.springsource.org/spring/docs/2.0.x/reference/transaction.html
自己呼び出しメソッドではなく、外部メソッド呼び出しのみがトランザクションの下にあるのはなぜですか?
java - トランザクション サービスへの同時呼び出しのテスト
同時使用のためにトランザクションのサービス メソッドをテストするにはどうすればよいですか (値を減らすことでデータベースの行を更新します)。
SpringJunit4ClassRunner を使用して JUnit テスト クラスをセットアップしました。コンポーネントは @autowired です。
メソッドを呼び出すスレッドを生成するだけでは機能しないようです。これが Spring プロキシ メカニズムと関係があるかどうかはわかりません。
私が達成したいのは、同時に 2 つのスレッドがテストされたメソッドの「内部」にあり、他のスレッドが失敗してロールバックする状況を作成することです。たとえば、行の値が 3 で、両方のメソッド呼び出しが値を 2 減らそうとします。メソッドが機能しない場合、値は -1 になりますが、これは違法です。しかし、両方の呼び出しが失敗してロールバックするか、それを更新しようとする呼び出しが他の呼び出しよりも少し遅れて失敗することを望みます。
これは可能ですか?
java - 複数の@Transactionalデータソースを生成します
サービスレイヤーで、@Transactional(name="transactionManager2");
複数のトランザクションマネージャーがある場合、使用するトランザクションマネージャーを識別するために使用できますか?
java - どのSessionFactoryをtransactionManagerに使用する必要がありますか?
2つのデータソースHRappsdaoとprojectdaoがあり、どちらも異なるsessionFactoryを使用しています。この場合、私のtransactionmanagerはどのsessionfactoryを使用する必要がありますか?(hrappsdaoまたはprojectdao)?
編集
java - Springトランザクションをログに表示する
トランザクションサポートを使用してSpringを構成しました。すべてが正しく設定されていることを確認するためだけにトランザクションをログに記録する方法はありますか?ログに表示することは、何が起こっているかを確認するための良い方法です。
sql-server - エージェント メッセージ コード 20084。プロセスはサブスクライバーに接続できませんでした
SQL 2005 を実行しているすべてのサーバー
SQL サーバー (NOLA) は 35 のリモート ロケーション (StoreXX) にレプリケートします。
今週初め、1 つのパブリケーションで、35 のリモート ロケーションのうち 30 のリモート ロケーションへの接続に問題が発生し始めました。エラーは次のとおりです。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
日付 2010 年 2 月 4 日 10:00:01 AM
ログ ジョブ履歴 (NOLA-Closing_Balance-CB のデフォルトは Stores-R99S-
Store1-2790)
ステップ ID 2
サーバーNOLA
ジョブ名 NOLA-Closing_Balance-CB デフォルトは Stores-R99S-Store1-2790
ステップ名 エージェントを実行します。
デュレーション 00:31:47
SQL 重大度 0
SQL メッセージ ID 0
オペレーターにメール送信
オペレーターネットが送信されました
オペレータページ
再試行回数 0
メッセージ
2010-02-04 16:31:48.081 エージェント プロファイルから取得したパラメータ値:
2010-02-04 16:31:48.081 サブスクライバ 'R99S-Store1' に接続しています
2010-02-04 16:31:48.440 エージェント メッセージ コード 20084。
サブスクライバ 'R99S-Store1' に接続しません。
2010-02-04 16:31:48.472 カテゴリ:NULL
ソース: Microsoft SQL ネイティブ クライアント
番号: 10054
メッセージ: TCP プロバイダー: 既存の接続がリモート ホストによって強制的に閉じられました。2010-02-04 16:31:48.472 カテゴリ:NULL
ソース: Microsoft SQL ネイティブ クライアント
番号: 10054
メッセージ: 通信リンク障害
2010-02-04 16:31:48.472 エージェントは「再試行」ステータスで失敗しました。後でエージェントを実行してみてください。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The problem is only this one publication & not all subscriptions. 問題のあるサブスクリプションを削除して再度追加しましたが、同じ問題です。
別のパブリケーション (同じ dB) とサブスクリプション (同じ & 新しいサブスクライバー) を作成しましたが、結果は同じです (上記のエラー)。
今、それが奇妙になるところです....
パブリッシャーとサブスクライバーの両方で異なる dB を使用して新しいパブリケーションを作成しましたが、すべて正常に動作します。
私はネットワークの人々にチェックする必要があるものをチェックしてもらい、顔が青くなるまでググりました。
誰でもこの問題について何か洞察を得ることができますか?
アヒア、ラリー…。
java - ui:repeat 内の ui:repeat と LazyInitException
現在、次のようなコードを含むページで LazyInitException が発生しています。
storiesByTag()
List
ストーリーを取得する Bean メソッドです。2 つ目ui:repeat
は、各タグを取得してそのコンテンツを表示することになっています。必要以上のオブジェクトをロードしないように、すべてのフェッチはデフォルトで遅延されます。
私はまだこれについて曖昧ですが、私が理解していることから、これは、リクエスト中にEntityManager
が閉じられている (@Transactional
クラウドから出ている) か、Collection
がアクセスされているために発生する可能性があります。
Spring のOpenEntityManagerInViewFilter
Spring がプロジェクトに追加されましたが、正しく機能しているかどうかはわかりません。これをテストするための提案は大歓迎です。
ここCollection
で問題があると思うので、何が良い解決策になるか知りたいです。でDAOメソッドを変更する必要がありfetch join
ますか? <f:view beforePhaseListener=...>
それとも、Bean 内でメソッドをトリガーし、データベースからいくつかの新しい Tag オブジェクトを取得するために使用するハック ルートを使用する必要がありますか?
編集:Bozhoの場合:
web.xml :
ローマンの場合:
applicationContext.xml :