Spring Boot + Quartz + PostgreSQL 9.4 -- spring フィールド と spring-boot フィールド と quartz-scheduler フィールド 関連 問題

Spring Boot + Quartz + Postgresql 9.4












1
vote

問題

日本語

スプリングブート+ Quartz + PostgreSQL 9.4

を使用しています

QUARTZテーブルを初期化するために、Quartzに関連するすべてのSQLスクリプトが、Spring Bootが自動的に再起動するすべての再起動でファイルを自動的に読み取り、実行するすべてのSQLスクリプトを書きました。

data.sql

<事前> <コード> drop table if exists qrtz_fired_triggers; drop table if exists qrtz_paused_trigger_grps; create table qrtz_job_details ... create table qrtz_triggers.... ... ... create index idx_qrtz_j_req_recovery ... create index idx_qrtz_j_grp ...

application.properties

<事前> <コード> spring.jpa.hibernate.ddl-auto=update

この構成では、テーブルが正常に作成されます。 今から15分のジョブを作成すると、ジョブはQuartzテーブルに正常に保存されます。 この時点でサーバーが再起動されると、 "data.sql" が再び実行され、 data.sql の削除スクリプトのために削除されるため、Quartzのすべてのテーブルはドロップされ再作成されます。 / P>

私のQuartzテーブルとすべてのジョブをそのままにしたいと思います。 この問題を解決するための最良のアプローチであるべきですが、PostgreSQL 9.4を使用しているので、問題は<コード> create index if not exist

を使用できませんか?

アプローチ私は思っています

アプローチ1

アプリケーションが起動した後にテーブルとインデックスを論理的に作成します。

アプローチ2

私のスケジュール表と同様にQuartzテーブルにジョブを維持するので、スケジュールテーブルがJavaエンティティにマップされているので無傷のものであるため、再起動時にスケジュールテーブルからジョブを読み、もう一度Quartzテーブルのジョブを作成します。 。

私は最善のアプローチを知りたいのですが。

英語

I am using Spring Boot + Quartz + Postgresql 9.4

For initializing Quartz tables, I have wrote all sql scripts related to Quartz in data.sql which Spring boot automatically reads and run file in every restart.

data.sql

drop table if exists qrtz_fired_triggers; drop table if exists qrtz_paused_trigger_grps;  create table qrtz_job_details ... create table qrtz_triggers.... ... ... create index idx_qrtz_j_req_recovery ... create index idx_qrtz_j_grp ... 

application.properties

spring.jpa.hibernate.ddl-auto=update 

With this configuration, Table is created successfully. Now if I create a job with 15 minutes from now, job will be successfully saved in quartz table. At this point if server is restarted, all tables of quartz will be dropped and recreated because "data.sql" will run again and all future jobs will be deleted because of drop script in data.sql

I want to keep my quartz table and all jobs intact. What should be best approach to solve this problem, I am using postgresql 9.4, so problem is i can't use create index if not exist

Approach I am thinking

Approach 1

Logically creates table and index after application starts.

Approach 2

I keep my jobs in Quartz table as well as in my schedule table, so upon restart my schedule table is intact as it is mapped to java entity, so read jobs from schedule table upon restart and create the jobs in quartz table again.

I would like to know the best approach.

</div
        
 
 

回答リスト


関連する質問

8  管理されていないスレッドSpring Quartz WebSphere Hibernate  ( Unmanaged threads spring quartz websphere hibernate ) 
春、休止状態、そしてWebSphereとともにQuartz - Jdbcjobstoreを使用するという私たちの実装は、管理されていないスレッドを投げています。 私はいくつかの読みを行い、春との石英の使用法がそれを引き起こすことを述べているIBMからの技...

0  Misfires Qualtzからのデータベースエラー回復  ( Database error recovering from misfires qualtz ) 
データベースからスケジュールされたジョブを使用するようにQUARTZを構成しました。 今すぐスケジューラを開始したとき: <事前> <コード> try { // Grab the Scheduler instance from the Factory ...

21  コードを実行するときに初めてスプリングバッチスケジュールされたジョブを実行するのを防ぐ方法  ( How to stop spring batch scheduled jobs from running at first time when executin ) 
石英でSpring Batch 2.2.4を使用して、特定の時点でジョブを実行するためにいくつかのジョブを実行しています。 問題は、初めてコードを実行した後に常に実行されたときにジョブが実行されます。スケジュールされた時間に基づいて実行されます。最初の実行を停...

0  Quartzクラスタリング:すべてのノードに表示されるスケジューラアクション  ( Quartz clustering scheduler actions visible on all nodes ) 
私は問題を抱えています。多分あなたは私を助けることができます。 基本的には、次のように知りたいのですが。 Quartzクラスタリングは、そのトリガーを動的に変更することができます(すなわち、すべてのサーバー上の同じ設定ですが、特定の時点では、単一のサーバー...

2  コントローラに自分のHTTPコンテキストを作成する方法  ( How to create my own http context for a controller ) 
ASP.NET MVC 3と石英スケジューラを使用しています。 現在私はこれを持っています ジョブが作成され実行されます。 AutomApper でモデルを表示するようにドメインをマップするコントローラに移動します。 結果は、アクションメーラ エラーを...

1  XMLではなくデータベースからクォートジョブをトリガーします  ( Trigger a quartz job from database and not xml ) 
XMLファイルで設定する代わりに、Oracleデータベースからジョブをトリガーできます。 ...

0  指定された時刻に翌日Quartz Triggerを起動します  ( Start quartz trigger next day at specified time ) 
あなたのクォーツトリガーを一時停止して、指定された開始時刻で翌日それを起動することができますか? 例えば。私のcron表現は* 0/20 15-00 * *ですか?だから私が私のトリガーを一時停止するとき15:00の翌日を始めるべきです。 ...

2  LINQを使用して複数のメソッドを照会/副問合せする(グループ、ジョブ、およびトリガーのQUARTZ.NETの例)  ( Using linq to query subquery multiple methods quartz net example for groups jo ) 
間違いなくLINQ NewBieですが、SQLとC#が非常に経験し、LINQで可能かどうか疑問に思います。もしそうなら、私は他の場所を使うことができましたが、私はこれが良い出発点(そしていくつかのコードを単純化/クリーンアップするのに役立ちます)であると考えま...

7  Quartz Cron Triggerでの夏時間の節約時間を扱う方法  ( Ways to deal with daylight savings time with quartz cron trigger ) 
私はそのような石英CRONトリガーを持っています: <事前> <コード> git checkout {branch name}1 2-3AM期間内に発生するいくつかの構成がある場合は、これを解決する方法を解決する方法はありますか?受け入れられたベストプラク...

0  Beanクラスのプロパティ '耐久性'が無効です[org.springFramework.Scheduling.Quartz.SchedulerFactoryBean]  ( Invalid property durability of bean class org springframework scheduling quar ) 
スプリング2.xから春4.2.4と石英から1.8から2.3の石英をアップグレードしています。 次のBeanスローグBeanクラスの「無効なプロパティ '耐久性」[org.springFramework.Scheduling.Quartz.SchedulerFa...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有