
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ランキング
-
「配列定数は、イニシャライザ...
-
行の途中から読み込む方法
-
6桁の数字を重複なしでランダム...
-
JAVAでCの関数ポインタのような...
-
式の型は配列型で int に解決済...
-
Javaのファイル名チェックについて
-
Java 初心者 int型の取り扱い方
-
Sobelフィルタがうまく作れません…
-
SwingでJtableのヘッダ行が表示...
-
JUnit4のアノテーションについて
-
メインが含まれていません
-
初心者ですが、今javaで簡単な...
-
DataSet(DataTable)の使い方
-
[c++]メンバ配列での要素数省略
-
二次元配列の初期化の方法。
-
マインスイーパーもどきをつく...
-
共有メモリについて
-
JAVA エラー 式の開始が不正で...
-
C++からC#のdllを参照する際、...
-
javaでカレンダー作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「配列定数は、イニシャライザ...
-
メインが含まれていません
-
式の型は配列型で int に解決済...
-
Java 初心者 int型の取り扱い方
-
(Swing)JTextFieldを半角のみ入...
-
DataSet(DataTable)の使い方
-
javaでカレンダー作成
-
intが負の時に投げる例外はあり...
-
C#で実行時にメソッドの返り値...
-
JUnit4のアノテーションについて
-
6桁の数字を重複なしでランダム...
-
JAVA エラー 式の開始が不正で...
-
java spring でエラーが出て困...
-
C#でバブルソート
-
プログラムの作り方
-
全組み合わせの出力
-
SwingでJtableのヘッダ行が表示...
-
アンマネージDLLで、ダイアログ...
-
c# デリゲート関連の命名について
-
複数のボタンを配置し、それぞ...
おすすめ情報