問題タブ [quartz]
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 - Java Quartz + Spring WEB が DataSource をロードできない
localhost でアプリを実行すると問題が発生します。私のアプリケーションは、Spring Web MVC で構築され、データベースへの接続パスとして @Autowired DataSource を使用する tomcat ベースのアプリケーションです。それに加えて、Java Quartz で動作するアプリ機能があります。
DataJdbc1.class :
application-context.xml :
CopyTableCustomerHandleJob.class
Quartz-context.xml :
その後、Spring WEB MVC 内で Job クラス、Trigger Class、schedulefactory を使用してそのクォーツ アプリケーションを構築し、クォーツ-context.xml を作成することにしました。残念ながら、このクォーツ アプリケーションを実行すると問題が発生し、実行するたびに DataSource プロパティを初期化できません。クォーツアプリケーション。しかし、不思議なことに、Spring webMVC RequestMapping DataSource Initialized Succesfully で Quartz アプリケーションメソッドを呼び出そうとすると.
stackoverflow メンバーの誰かが私のような問題に直面したことがありますか? 私の問題を解決するために私がしなければならない解決策の種類。どうもありがとうございます。
java - Quartz Scheduler: 1 台のマシンだけでジョブを実行する方法は?
2 台のマシン (同じデータベースを共有) で実行するように Quartz をセットアップしようとしています。たった 1 台のマシンでジョブ (または一連のジョブ) を実行するように Quartz をセットアップする方法 (別のマシンはジョブを選択できません)?
ios - UIBezierPath は、ビューの drawRect/draw(_:)?
Catmull-Rom splinesを使用して滑らかにした自由形式の落書きを描画するテスト プログラムに取り組んでいます。(リンク) Catmull-Rom スプラインを使用して滑らかな曲線を描く方法を示す「レシピ」については、Erica Sadun の優れた Core iOS Developer's Cookbookを参照してください。(開示: 私はサドゥン博士のいくつかの本の技術評論家でした。)
Objective-C で記述された Dr. Sadun のサンプル コードは、ユーザーが指をなぞると入力ポイント間に一連の線分を描画し、指を離したときにのみ曲線を滑らかにします。
Swift 3 でコードをリファクタリングしました。
また、アルゴリズムを変更して、ユーザーが描いたときに「ライブ」で滑らかな曲線を生成するようにしました。平滑化アルゴリズムの出力は、滑らかな曲線の外観を作成するために小さな線分で接続する必要がある一連の点です。
結果の「ポリライン」を UIBezierPath に変換し、それをカスタム UIView サブクラスの drawRect メソッドで描画します。
滑らかな曲線を作成する計算は、実際には非常に高速であることがわかりました。時間がかかるのは、大きくて複雑なUIBezierPath
. 平滑化される入力ポイントの配列に新しいポイントを追加すると、曲線の最後の部分を変更して、「ねじれ」ではなく、前の制御点の周りに滑らかな曲線を作成する必要があります。
結果として、DrawRect を呼び出すたびにベジエ パス全体を描画するのが最も簡単な方法です。ただし、ベジエ パス オブジェクトが大きくなるにつれて、アプリはより多くの時間をサービスに費やすdrawRect()
ため、ユーザーの指のパスのトレースがますます遅くなり、ユーザーの動きから登録するポイントがますます離れていきます。
いくつかの最適化を実装しました。setNeedsDisplayInRect()
それらの 1 つは、 (むしろ、これは Swift 3 であるため)を呼び出しsetNeedsDisplay(_:)
て、実際に変更されたビューの小さな部分のみを再描画する必要があるとしてマークすることです。
私のdrawRect()
(er,draw(_:)
関数が非常に高速になり、もはや動きがとまらなくなったことに驚きました。
UIBezierPath
ビューの「ダーティ領域」(実際に更新が必要なクリップ領域) の外側にあるパスの部分をスキップするように、 drawRect()でのオブジェクトのレンダリングが最適化されているようです。
それは私を驚かせました。描画を放棄しUIBezierPath
、現在のクリップ領域と交差する描画の部分を見つけるカスタム コードを作成する必要があると予想していましたが、そうする必要はないようです。
現在のクリッピング マスクと交差するパスの部分のみを効率的にレンダリングするように、Quartz の描画がビューの drawrect() メソッド内の UIBezierPaths の描画を最適化することを確認できますか?
jdbc - 非クラスター構成の Quartz スケジューラーインスタンスからクラスター化された Quartz1.8.6 へのジョブのスケジューリング
4 つのインスタンスを持つクラスター モードで Quartz 1.8.6 を使用しています。現在、テーブル QRTZ_LOCKS で高い競合が発生しています。私のアプリケーションは、オンライン クライアントに Web サービスも提供します。この Web サービスは、新しいジョブのスケジューリングも行います。現在、これらの Web サービスでタイムアウト例外が発生しています。これは、新しいジョブをスケジュールするときに、QRTZ_LOCKS テーブルのロックを取得するのに時間がかかりすぎるためです。Web サービスの 100% 信頼できる操作を確立することは、私にとって重要です (クォーツ ジョブ操作よりも重要です)。1 つのインスタンスのみで Quartz ジョブ ランナーを開始し、他の 3 つのインスタンスを org.quartz.jobStore.isClustered=false で構成して、QRTZ_LOCKS でロックを取得せずにスケジューリングを実行できるようにすることは可能ですか?
更新: 実際には、ジョブ ランナーを使用して 1 つのインスタンスのみを実行し、他のすべてのインスタンスで新しいジョブを追加できるようにする場合、これはクラスターではなくなります。したがって、実際の質問は次のようになります: org.quartz.jobStore.isClustered=false を 4 つのインスタンスすべてに構成し、1 つのインスタンスのみでジョブを実行させ、4 つすべてが新しいジョブを同じ jdbc ストレージにスケジュールできるようにすることは可能ですか?