
spring 超初心者です。cloudfoundyでcronを実行しようとしています。
CronService から@Autowiredで、StartJob_cを呼び出し
更に呼び出されたStartJob_cから、@AutowiredでReadFile_cを呼び出そうとしています。
しかし、Injection of autowired dependencies failed; nested exception
というエラーが出て動きません。
質問1)このような、呼び出しはできないのでしょうか?
質問2)springでこのような、呼び出しをしたい場合、どうするのが良いのでしょうか?
エラー内容は、
[ERROR] [main 11:08:03] (ContextLoader.java:initWebApplicationContext:220) Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cronService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.krams.tutorial.job.StartJob org.krams.tutorial.job.CronService.startJob; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'syncStartJob': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.krams.tutorial.job.ReadFile org.krams.tutorial.job.StartJob_c.readFile_cService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.krams.tutorial.job.ReadFile] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
です。
ロジックサンプルは、以下の通りです。
@Service
public class CronService implements Cron{
protected static Logger logger = Logger.getLogger("service");
@Autowired
@Qualifier("syncStartJob")
private StartJob startJob;
@Scheduled(cron="*/10 * * * * ?")
public void doSchedule() {
logger.debug("cron");
startJob.jobExec();
}
}
@Component("syncStartJob")
public class StartJob_c implements StartJob{
protected static Logger logger = Logger.getLogger("service");
//@Autowired
//private StartJob2 startJob2_cService;
@Autowired
private ReadFile readFile_cService;
@Autowired
private DeleteFile deleteFile_cService;
@Autowired
private ShinchokuFile1LineDel shinchokuFile1LineDel_cService;
public void jobExec() {
// TODO Auto-generated method stub
logger.debug("StartJob");
List<String> strYMDStartArray = new ArrayList();
strYMDStartArray.add("20060701");//0 1
strYMDStartArray.add("20060501");//1 2
strYMDStartArray.add("20060301");//2 3
strYMDStartArray.add("20060101");//3 4
strYMDStartArray.add("20051101");//4 5
strYMDStartArray.add("20050901");//5 6
String strFileName = "";
List<Integer> AYMDCNTData = new ArrayList();
strFileName = "YMDCNT";
AYMDCNTData = this.readFile_cService.readIntData(strFileName);
int intYMDCNT = AYMDCNTData.size();
List<Integer> ACNTData = new ArrayList();
strFileName = "JobCNT";
ACNTData = this.readFile_cService.readIntData(strFileName);
int intJobCNT = ACNTData.size();
String strYMDStart = "";
String strYMDEnd = "";
int intYMDID = 0;
int intJobCounter = 11;
intJobCounter = intJobCounter + intJobCNT;
String sTrailJoken_start = "";
String sTrailJoken_end = "";
String sTrailGaku_start = "";
String sTrailGaku_end = "";
if( intJobCounter == 11){
sTrailJoken_start = "10";
sTrailJoken_end = "10";
sTrailGaku_start = "5000";
sTrailGaku_end = "5000";
}else if(intJobCounter == 12){
sTrailJoken_start = "10";
sTrailJoken_end = "10";
sTrailGaku_start = "10000";
sTrailGaku_end = "10000";
}else if(intJobCounter == 13){
sTrailJoken_start = "10";
sTrailJoken_end = "10";
sTrailGaku_start = "15000";
sTrailGaku_end = "15000";
}else if(intJobCounter == 14){
sTrailJoken_start = "10";
sTrailJoken_end = "10";
sTrailGaku_start = "20000";
sTrailGaku_end = "20000";
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メインが含まれていません
-
前日日付の取得
-
C#経過時間の求め方
-
java 継承
-
classを使って座標軸を求めるコ...
-
Stringの文字列をString[]配列...
-
数学的な処理
-
JAVAでCの関数ポインタのような...
-
classの中の配列の初期化
-
「配列定数は、イニシャライザ...
-
実行時型情報を、newの引数にす...
-
Java 初心者 int型の取り扱い方
-
10列10行の文字列表示について
-
共有メモリについて
-
C++からC#のdllを参照する際、...
-
成績表示プログラム
-
javaのエラーの意味がわかりま...
-
DataSet(DataTable)の使い方
-
java初心者の質問(3つの整数の...
-
SwingでJtableのヘッダ行が表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c# デリゲート関連の命名について
-
「配列定数は、イニシャライザ...
-
SwingでJtableのヘッダ行が表示...
-
java spring でエラーが出て困...
-
Comparatorを使用したソートに...
-
【C#】フォームをなめらかに移動
-
アンマネージDLLで、ダイアログ...
-
JUnit4のアノテーションについて
-
式の型は配列型で int に解決済...
-
java 長さの異なる配列の代入
-
DataSet(DataTable)の使い方
-
JAVA エラー 式の開始が不正で...
-
JAVAでCの関数ポインタのような...
-
メインが含まれていません
-
javaでcsvファイル読込時の改行...
-
tabにdrawImageで画像を描画したい
-
ウィンドウの整列
-
C#でバブルソート
-
行の途中から読み込む方法
-
ある年月の月間日数を取得する...
おすすめ情報