• 締切済み

Spring2.0での連続したトランザクションについて

_ranco_の回答

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.3

> コネクションを > DaoCImplのみで取得して... そうすると、私の最初の回答のように、単一のトランザクションスコープになりますよね?。(想像ですが) XMLのレベルでなく、あくまでもプログラムのレベルで検討してください!。

関連するQ&A

  • Struts、Spring、iBATISについて

    Struts1、Spring3、iBATIS2 であるプロジェクトを 勉強の為に作成しているのですが、どうしても わからないエラーが発生してしまい、質問させて いただきました。 【現象】 eclipseによりtomcatを使用してサーバサービスを起動のとき、 エラーが発生してしまう。 【applicationContext.xml】抜粋 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="classpath:sqlMapConfig.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <bean id="jtaTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <bean id="testDAO" class="bestone.app.dao.impl.testDAOImpl"> <property name="sqlMapClient" ref="sqlMapClient" /> </bean> 【testDAOImpl.java】 package bestone.app.dao.impl; import java.sql.SQLException; import bestone.app.dao.testDAO; import bestone.app.dao.bean.testBean; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; public class testDAOImpl extends SqlMapClientDaoSupport implements itestDAO { public testBean selectInfo(testBean bean) throws SQLException { // TODO Auto-generated method stub return (testBean) getSqlMapClient().queryForObject("test.SELECT_INFO", bean); } } 【エラー内容】 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlMapClient' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: ServletContext resource [/WEB-INF/conf/sqlMapConfig.xml]; nested exception is com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: java.io.IOException: Could not find resource jp/co/best/app/dao/map/test_SqlMap.xml at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1403) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222).............................. ======================================= わかる方いらっしゃいましたらご教授ください。 よろしくお願いいたします。

  • Struts2、Spring、iBATIS splMapClientについて

    Struts2、Spring、iBATIS で勤務管理サイトを 勉強の為に作成しているのですが、どうしても わからないエラーが発生してしまい、質問させて いただきました。 【事象】 ・eclipseよりサーバでの実行を起動させた際ですが、  @ResourceでDAOのBeanを注入時にエラーが発生してしまいます。  ※@Resourceを外せば当事象のエラーは発生しませんでした。 【applicationContext.xml】抜粋 <bean id="splMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" scope="singleton"> <property name="configLocation" value="classpath:sqlMapConfig.xml"/> <property name="dataSource" ref="dataSource"/> </bean> <bean id="loginDao" class="login.LoginDao" scope="singleton"> <property name="splMapClient" ref="splMapClient"></property> </bean> 【sqlMapConfig.xml】 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <settings cacheModelsEnabled="true" statementCachingEnabled="true" enhancementEnabled="true" classInfoCacheEnabled="true" lazyLoadingEnabled="false" /> <sqlMap url="file:c:/eclipse/workspace/tiles/WebContent/WEB-INF/sql/login.xml" /> </sqlMapConfig> 【Login.java】 package login; import java.util.Map; import javax.annotation.Resource; import jp.co.hershe.struts2.util.Struts2Action; import com.opensymphony.xwork2.ActionSupport; @Struts2Action("Login") public class Login extends ActionSupport { private static final long serialVersionUID = 1L; @Resource private LoginDao loginDao; @Override public String execute() throws Exception { (もろもろ処理が入ります) } } 【エラーログ】 情報: Loaded JDBC driver: oracle.jdbc.driver.OracleDriver 2009/06/26 1:05:28 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons 情報: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@269997: defining beans [org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,Login,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,login,transactionManager,dataSource,TransactionInterceptor,splMapClient,loginDao]; root of factory hierarchy 2009/06/26 1:05:28 org.springframework.web.context.ContextLoader initWebApplicationContext 致命的: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loginDao' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'splMapClient' of bean class [login.LoginDao]: No property 'splMapClient' found at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) at java.security.AccessController.doPrivileged(Native Method) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221) at …… ================================================== sqlMapClientのあたりで記述がおかしいのかと思いまして 見直しや検索などしてみたのですが、わからず、、 わかる方いらっしゃいましたらご教授ください。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • 絶対パスを指定しているがエラーが出てしまう

    springにてメール配信ソフトを作成しているが、設定ファイルにて、パス指定を正確にしているにも関わらずエラーが出てしまいます。  servlet-context.xmlは以下の通り  ー抜粋ー  <beans:bean id="classpathProperties"   class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <beans:property name="locations"> <beans:list> <beans:value>classpath:classpath.properties</beans:value> </beans:list> </beans:property> </beans:bean> <beans:bean id="fileProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <beans:property name="locations"> <beans:list> <beans:value>files:${user.home}\Documents\workspace-sts-3.5.0.RELEASE\merumaga\src\main\webapp\resources\file.property</beans:value> </beans:list> </beans:property> </beans:bean>   の<beans:value>files:${user.home}\Documents\workspace-sts-3.5.0.RELEASE\merumaga\src\main\webapp\resources\file.property</beans:value>の部分は class path resource [file.properties] cannot be opened because it does not existというエラーがでてしまいます。 何回も見直したのですが、間違っているところは見当たりません。どこか違うところに原因があるのでしょうか。何かわかる方ご教授の程宜しくお願い致します。

  • java spring でエラーが出て困ってます

    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"; }

    • ベストアンサー
    • Java
  • javaのMySQL(DataSource)

    ちょっとDataSourceを使って会員登録をしてたら、エラーが出て先に進めなくなってしまったのでご教授願いたいと思い質問させていただきました。 server.xmlに、 <Resource name="MySQL_JDBC" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="MySQL_JDBC">を書いて、 web.xmlに、 <resource-ref> <res-ref-name>MySQL_JDBC</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>を書いて、 会員登録をするアクションに、 DataSource dataSource=null; public void init()throws ServletException{ try{ Context context=new InitialContext(); dataSource=(DataSource)context.lookup("java:comp/env/MySQL_JDBC"); }catch(NamingException e){ throw new ServletException(e); } } Connection conn; try{ conn=dataSource.getConnection(); Statement stmt = null; String sql="insert into member(member_id,member_pass,family_name,first_name,birth_year,birth_month,birth_day,address,post_code,mail,"+ "sex,home_tel,job) values('"+ member_id +"',"+ mempasslong +",'"+ family_name +"','"+ first_name +"',"+ birth_year +","+ birth_month +","+ birth_day +",'"+ address +"',"+ post_code +",'"+ mail +"',"+sexint+","+ home_tel +",'"+ job +")"; int result=stmt.executeUpdate(sql); }catch(SQLException e){ message = "登録失敗しました。"; request.setAttribute("message", message); return mapping.findForward("registererror"); } message = "登録完了しました。"; request.setAttribute("message", message); return mapping.findForward("success"); } }と書いて会員登録を完了させたいんですけど、会員情報を入力して実行すると、 致命的: サーブレット action のServlet.service()が例外を投げました java.lang.NullPointerException at memregister.AddressAction.execute(AddressAction.java:100) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) というエラーがでて先に進めなくなりました。エラーの場所は分かるのですが、どのように訂正すればいいと思いますか?ちなみにエラー1行目のAddressAction.java:100は、conn=dataSource.getConnection();の箇所です。

    • ベストアンサー
    • Java
  • JNDIについて

    緊急で困っています。宜しくお願いします。 JNDIを使ってDB接続しようとしているのですがエラーが出て接続できません。 ■発生箇所---------------------------------------- public static Connection getConnection() { Connection con = null; try { InitialContext context = new InitialContext(); DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/MySQL"); con = ds.getConnection(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return con; } のlookupの箇所です。 ------------------------------------------ server.xml <Context>タグの中に <Resource name="jdbc/MySQL" auth="Container" type="javax.sql.Datasource"> <ResourceParams name="jdbc/MySQL"> <parameter>    <name>factory</name>   <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <!-- Max Active <parameter> <name>maxActive</name> <value>100</value> </parameter> --> <!-- Max Idle <parameter> <name>maxIdle</name> <value>30</value> </parameter> --> <!-- Max Wait <parameter> <name>maxWait</name> <value>10000</value> </parameter> --> <parameter> <name>username</name> <value>***</value> </parameter> <parameter> <name>password</name> <value>***</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost/DB名?useUnicode=true&amp;characterEncording=Windows-31J</value> </parameter> </ResourceParams> </Resource> </Context> ---------------------------------------------- web.xml <resource-ref> <res-ref-name>jdbc/MySQL</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> ---------------------------------------------------- 必要なライブラリはTOMCAT_HOME/common/libに配置しています。 ------------エラーログ javax.naming.NamingException: Cannot create resource instance at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:132) at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source) at org.apache.naming.NamingContext.lookup(NamingContext.java:791) at org.apache.naming.NamingContext.lookup(NamingContext.java:138) at org.apache.naming.NamingContext.lookup(NamingContext.java:779) at org.apache.naming.NamingContext.lookup(NamingContext.java:138) at org.apache.naming.NamingContext.lookup(NamingContext.java:779) at org.apache.naming.NamingContext.lookup(NamingContext.java:138) at org.apache.naming.NamingContext.lookup(NamingContext.java:779) at org.apache.naming.NamingContext.lookup(NamingContext.java:151) at org.apache.naming.SelectorContext.lookup(SelectorContext.java:136) at javax.naming.InitialContext.lookup(Unknown Source) at com.llc.aison.seikei.util.DBUtil.getConnection(DBUtil.java:18) 環境: Tomcat5.0 mysql eclipse3.1.1 jdk1.4_12 以上宜しくお願いします。

    • ベストアンサー
    • Java
  • Tomcat6のコネクションプーリングについて

    Tomcat6のコネクションプーリングについて 現在、以下の環境で開発を行っているのですが、 データソースからConnectionを取得できていない状況です。 過去に同様の内容が記載されていたのですが、 内容が理解できず投稿させていただいております。 【フォルダ構成】 test  |  |--META-INF  |   |  |   --context.xml  |  |--WEB-INF     |      --web.xml 【環境】 Windows XP Pro Eclipse3.3.2 apache2.2 tomcat6.0 jdk1.6.0_18 mysql-connector-java-5.1.12-bin.jar Struts2 以下に、context.xml、web.xml及び、サーブレットのコードを記載します ■web.xml=========== <?xml version="1.0" encoding="UTF-8"?> ~~(抜粋)~~ <resource-ref> <res-ref-name>test</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app> ■context.xml======= <?xml version="1.0" encoding="UTF-8"?> <Context displayName="test" docBase="test" path="/test" reloadable="false"> <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="root" password="root" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/test?useUnicode=true&amp;characterEncoding=UTF-8" maxActive="4" maxWait="5000" maxIdle="2" validationQuery="select cont(*) from db_fuzoku" /> </Context> ■サーブレットコード(抜粋)===== public class test_Dao { DataSource ds; public ArrayList select(){ ArrayList list = new ArrayList(); try { // 初期コンテキストを取得 Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); // ルックアップしてデータソースを取得 ds = (DataSource) envCtx.lookup("jdbc/test"); } catch (Exception e) { e.printStackTrace(); } Connection con = null; Statement stmt = null; try { // データソースからConnectionを取得 con = ds.getConnection(); ==================== 以上、よろしくお願いします。

  • TomcatのJDBC連携について

    TomcatのJDBC連携について javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null' というエラーが消えず、知恵をお貸しください。 他にも同様のケースについて調べては見たのですが解決しません。 ■環境 Windows XP SP3 Eclipse3.6(Pleiades All in One 3.6.0.20100623) apache-tomcat-5.5.29 mysql-essential-5.1.48 ■設定 ■server.xml に下記を追加 <Context docBase="Test" path="/test" reloadable="true" source="org.eclipse.jst.j2ee.server:Test"> </Context> ■Tomcat 5.5/conf/Catalina/localhost/Test.xml に下記を記載 <Context docBase="${catalina.home}/server/webapps/test" privileged="true" antiResourceLocking="false" antiJARLocking="false"> <Resource name="jdbc/MySQL_JDBC" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=sjis" username="**" password="**" maxActive="20" maxIdle="30" maxWait="1800"/> </Context> ■Webアプリケーション配下の web.xmlに下記を追加 <resource-ref> <res-ref-name>jdbc/MySQL_JDBC</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> ■JSPソースに下記を記載 jdbc.jsp <% InitialContext initCon = new InitialContext(); DataSource ds = (DataSource) initCon.lookup("java:comp/env/jdbc/MySQL_JDBC"); Connection con = ds.getConnection(); Statement stmt = con.createStatement(); ResultSet result = stmt.executeQuery("select * from mytable;"); while (result.next()) { 表示処理 } con.close(); initCon.close(); %> 別途作成した下記JSPではデータ取得はできています。 <% Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/test?" + "user=tester&password=tester&useUnicode=true&characterEncoding=Shift_JIS"); Statement st=conn.createStatement(); ResultSet res = st.executeQuery("select * from mytable");

    • ベストアンサー
    • Java
  • JNDIでDataDourceにNullが入ってしまう

    いつもお世話になっています。 JNDIを使ってDataSourceを取得しようと思っているのですがNullが返ってきてしまってかなりハマッてます。 ご指導頂けたらと思います。 設定は下記のようになっています。 環境: jdk:1.4.2_12 tomcat:5.0 Mysql:4.0.20a-nt server.xml-------------------------------------------------- <Context docBase="C:\Documents and Settings\ESC\workspace\SNS\.deployables\SNS" path="/SNS" reloadable="true"> <Resource name="jdbc/MySQL" auth="Container" type="javax.sql.Datasource" /> <ResourceParams name="jdbc/MySQL"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <!-- Max Active <parameter> <name>maxActive</name> <value>100</value> </parameter> --> <!-- Max Idle <parameter> <name>maxIdle</name> <value>30</value> </parameter> --> <!-- Max Wait <parameter> <name>maxWait</name> <value>10000</value> </parameter> --> <parameter> <name>username</name> <value>****</value> </parameter> <parameter> <name>password</name> <value>****</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost/dbname?useUnicode=true&amp;characterEncording=Windows-31J</value> </parameter> </ResourceParams> </Context> web.xml-------------------------------------------------- <resource-ref> <res-ref-name>jdbc/MySQL</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> java側-------------------------------------------------- InitialContext ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/MySQL"); connection = ds.getConnection(); -------------------------------------------------------- どうか宜しくお願い致します。

  • spring batchのエラーについて

    以下を参考にバッチを作りました。 http://blogs.innovationm.com/job-scheduling-with-spring-batch/ import org.springframework.batch.core.launch.support.SimpleJobLauncher; import org.springframework.batch.core.repository.JobRepository; import org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean; import org.springframework.batch.support.transaction.ResourcelessTransactionManager; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; @Configuration @EnableScheduling public class BatchScheduler { @Bean public ResourcelessTransactionManager transactionManager() { return new ResourcelessTransactionManager(); } @Bean public MapJobRepositoryFactoryBean mapJobRepositoryFactoryBean(ResourcelessTransactionManager resourcelessTransactionManager) throws Exception { MapJobRepositoryFactoryBean factoryBean = new MapJobRepositoryFactoryBean(resourcelessTransactionManager); factoryBean.afterPropertiesSet(); return factoryBean; } @Bean public JobRepository jobRepository(MapJobRepositoryFactoryBean factoryBean) throws Exception{ return (JobRepository) factoryBean.getObject(); } @Bean public SimpleJobLauncher jobLauncher(JobRepository jobRepository) { SimpleJobLauncher launcher = new SimpleJobLauncher(); launcher.setJobRepository(jobRepository); return launcher; } } すると以下のエラーが発生します。何か設定が必要なのでしょうか? Description: Parameter 0 of method mapJobRepositoryFactoryBean in position.BatchScheduler required a bean of type 'org.springframework.batch.support.transaction.ResourcelessTransactionManager' that could not be found. Action: Consider defining a bean of type 'org.springframework.batch.support.transaction.ResourcelessTransactionManager' in your configuration.

    • ベストアンサー
    • Java