- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님! 강의를 듣고 정말 많은 도움을 받고 있습니다! 멀티스레드 환경 부분을 듣고 직접 이것저것 해보면서 몇가지 질문 사항이 있습니다. 1) 트랜잭션 스프링 배치에서 시작하는 트랜잭션 외에 ItemProcessor에서 다른 service(@Transactional)를 호출하여 데이터 처리를 하게 되는 경우 앞서서 배치가 생성해놓은 트랜잭션에 함께 포함되는 것이 아니라 별도로 트랜잭션이 열리게 된다는 다른 질문의 답변을 보았습니다! 그렇다면 배치의 트랜잭션이 끝나는 시점이 서비스 트랜잭션이 끝나는 시점과 다를텐데요. 이 때 배치의 트랜잭션이 종료되는 시점은 service처리가 다 이후 write처리까지 다 끝난 이후 인지, service 트랜잭션의 종료와는 상관 없이 트랜잭션이 종료 되게 되는 것인지 궁금합니다. + 트랜잭션의 종료 시점이 다르게 될 경우 발생될 수 있는 문제들은 어떻게 처리하게되는 걸까요?(배치를 돌릴때 최대한 다른 트랜잭션을 열면 안되는 것인지 궁금합니다!) ( org.hibernate.LazyInitializationException : failed to lazily initialize a collection of role 예외, 트랜잭션을 닫을 시점에 entity manger is null (AbstractItemCountingItemStreamItemReader.close)예외가 발생하였는데 이것과 관련되어있는지도 궁금합니다...!) 2) 멀티스레드 환경의 chunk 배치 멀티스레드 환경에서 chunk 배치를 사용하는 경우 JpaPagingItemReader를 사용한다고 가정하였을때, '스레드 동기화를 보장'한다는 것에 대해 궁금한데요. 예를 들어, 쓰레드가 5개인 환경에서 조회할 값이 isSample 컬럼이 false인 데이터 100개라고 가정하고 pagingItemReader를 이용해서 offset을 0으로 두고 10개씩 (chunksize = 10, pageSize = 10) 읽고 processor가 isSample 컬럼을 true로 바꾸는 역할을 수행하는 것을 가정합니다. 먼저 1~10번의 아이템을 각각의 1~5번의 스레드가 10개의 각각의 아이템을 할당 받는 과정에서 동기화(중복된 아이템을 스레드가 겹쳐서 읽지 않음)를 이루고 처리후 다음 10개를 읽고 처리하는 과정을 반복한다고 이해하였는데요. 이때, 만약 처음 1~10번의 아이템을 읽고 처리하는 과정에서 한 스레드가 처리과정에서 오랜 시간이 소요되는 병목지점이 발생한다면 commit이 이루어지지 않고, 다음 아이템 11~20번을 읽을때 앞서서 처리되지 않은 아이템을 다시 읽어오고 또다시 병목 지점이 발생할 수도 있고, 결과적으로 같은 아이템을 다른 스레드가 중복으로 처리하게 될 수도 있을 텐데 이럴경우 어떻게 처리가 이루어지는지 궁금합니다. (이런 부분에서는 동기화가 이루어지지 않는 것인지, 제가 이해한 과정이 맞는지도 궁금합니다...!) 3) synchronizeditemstreamreader를 사용하는 경우 lock SynchronizedItemStreamReader를 사용하는 경우에는 동기화를 위해서 쓰레드가 lock을 획득하고 처리하는 과정이 이루어진다면, DB connection의 갯수는 항상 쓰레드의 갯수보다 많게 유지해야 하는 걸까요? ( 작게하면 Connection is not available, request timed out after 오류가 뜨고 있습니다...!) 강의 정말 잘 보고 있습니다! 감사합니다 강사님!
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] 여기에 질문 내용을 남겨주세요. ValidationItemControllerv2 addItemV6부터 itemValidator.validate(item, bindingResult); 이코드를 없애고 (@Validated추가) 이유가 이제 직접 등록하는 ItemValidator 을 안쓰고 어노테이션 기반의 validate를 ex)@Max(999) 이용함이라고 이해했는데 맞나요 ?
2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 서버 버전 이름: Apache Tomcat/8.5.84 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: Server 빌드 시각: Nov 16 2022 13:34:24 UTC 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: Server 버전 번호: 8.5.84.0 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 운영체제 이름: Windows 11 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 운영체제 버전: 10.0 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 아키텍처: amd64 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 자바 홈: C:\Program Files\Java\jdk1.8.0_351\jre 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: JVM 버전: 1.8.0_351-b10 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: JVM 벤더: Oracle Corporation 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: CATALINA_BASE: C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: CATALINA_HOME: C:\Program Files\tomcat\apache-tomcat-8.5.84-windows-x64\apache-tomcat-8.5.84 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 명령 행 아규먼트: -Dcatalina.base=C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 명령 행 아규먼트: -Dcatalina.home=C:\Program Files\tomcat\apache-tomcat-8.5.84-windows-x64\apache-tomcat-8.5.84 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 명령 행 아규먼트: -Dwtp.deploy=C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 명령 행 아규먼트: -Djava.endorsed.dirs=C:\Program Files\tomcat\apache-tomcat-8.5.84-windows-x64\apache-tomcat-8.5.84\endorsed 2월 04, 2023 8:46:56 오후 org.apache.catalina.startup.VersionLoggerListener log 정보: 명령 행 아규먼트: -Dfile.encoding=UTF-8 2월 04, 2023 8:46:56 오후 org.apache.catalina.core.AprLifecycleListener lifecycleEvent 정보: 프로덕션 환경들에서 최적의 성능을 제공하는, APR 기반 Apache Tomcat Native 라이브러리가, 다음 java.library.path에서 발견되지 않습니다: [C:\Program Files\Java\jdk1.8.0_351\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_351/bin/server;C:/Program Files/Java/jre1.8.0_351/bin;C:/Program Files/Java/jre1.8.0_351/lib/amd64;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files\Java\jdk-11\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Bandizip\;C:\Users\신명상\AppData\Local\Microsoft\WindowsApps;;C:\eGovFrame_inflearn\eGovFrameDev-3.7.0-64bit\eclipse;;.] 2월 04, 2023 8:46:57 오후 org.apache.coyote.AbstractProtocol init 정보: 프로토콜 핸들러 ["http-nio-8080"]을(를) 초기화합니다. 2월 04, 2023 8:46:57 오후 org.apache.catalina.startup.Catalina load 정보: Initialization processed in 490 ms 2월 04, 2023 8:46:57 오후 org.apache.catalina.core.StandardService startInternal 정보: 서비스 [Catalina]을(를) 시작합니다. 2월 04, 2023 8:46:57 오후 org.apache.catalina.core.StandardEngine startInternal 정보: 서버 엔진을 시작합니다: [Apache Tomcat/8.5.84] 2월 04, 2023 8:46:57 오후 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom 경고: [SHA1PRNG] 알고리즘을 사용하여, 세션 ID를 생성하기 위한 SecureRandom 객체를 생성하는데, [535] 밀리초가 소요됐습니다. 2월 04, 2023 8:47:00 오후 org.apache.jasper.servlet.TldScanner scanJars 정보: 적어도 하나의 JAR가 TLD들을 찾기 위해 스캔되었으나 아무 것도 찾지 못했습니다. 스캔했으나 TLD가 없는 JAR들의 전체 목록을 보시려면, 로그 레벨을 디버그 레벨로 설정하십시오. 스캔 과정에서 불필요한 JAR들을 건너뛰면, 시스템 시작 시간과 JSP 컴파일 시간을 단축시킬 수 있습니다. 2월 04, 2023 8:47:00 오후 org.apache.catalina.core.ApplicationContext log 정보: No Spring WebApplicationInitializer types detected on classpath 2월 04, 2023 8:47:01 오후 org.apache.catalina.core.ApplicationContext log 정보: Initializing Spring root WebApplicationContext 2023-02-04 20:47:01,920 INFO [org.springframework.web.context.ContextLoader] Root WebApplicationContext: initialization started 2023-02-04 20:47:02,145 INFO [ org.springframework.web.context.support .XmlWebApplicationContext] Refreshing Root WebApplicationContext: startup date [Sat Feb 04 20:47:02 KST 2023]; root of context hierarchy 2023-02-04 20:47:02,259 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-aspect.xml] 2023-02-04 20:47:02,409 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-common.xml] 2023-02-04 20:47:02,550 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-datasource.xml] 2023-02-04 20:47:02,559 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-idgen.xml] 2023-02-04 20:47:02,567 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-mapper.xml] 2023-02-04 20:47:02,576 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-properties.xml] 2023-02-04 20:47:02,584 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-sqlMap.xml] 2023-02-04 20:47:02,591 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-transaction.xml] 2023-02-04 20:47:02,632 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-validator.xml] 2023-02-04 20:47:03,077 INFO [org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor] JSR-330 'javax.inject.Inject' annotation found and supported for autowiring 2023-02-04 20:47:03,644 DEBUG [egovframework.rte.fdl.cmmn.aspect.ExceptionTransfer] count of ExceptionHandlerServices = 2 2023-02-04 20:47:03,856 WARN [ org.springframework.web.context.support .XmlWebApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-datasource.xml]: Invocation of init method failed; nested exception is java.io .FileNotFoundException: class path resource [egovframework/spring/mybatis.xml] cannot be opened because it does not exist 2023-02-04 20:47:03,901 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-datasource.xml]: Invocation of init method failed; nested exception is java.io .FileNotFoundException: class path resource [egovframework/spring/mybatis.xml] cannot be opened because it does not exist at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1578 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:545 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:482 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support .AbstractBeanFactory$1.getObject( AbstractBeanFactory.java:306 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:230 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:302 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support .AbstractBeanFactory.getBean( AbstractBeanFactory.java:197 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support .DefaultListableBeanFactory.preInstantiateSingletons( DefaultListableBeanFactory.java:753 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:839 ) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:538 ) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext( ContextLoader.java:446 ) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.web.context.ContextLoader.initWebApplicationContext( ContextLoader.java:328 ) [spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.web.context.ContextLoaderListener.contextInitialized( ContextLoaderListener.java:107 ) [spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.apache.catalina.core.StandardContext.listenerStart( StandardContext.java:4759 ) [catalina.jar:8.5.84] at org.apache.catalina.core.StandardContext.startInternal( StandardContext.java:5229 ) [catalina.jar:8.5.84] at org.apache.catalina.util.LifecycleBase.start( LifecycleBase.java:183 ) [catalina.jar:8.5.84] at org.apache.catalina.core.ContainerBase$StartChild.call( ContainerBase.java:1424 ) [catalina.jar:8.5.84] at org.apache.catalina.core.ContainerBase$StartChild.call( ContainerBase.java:1414 ) [catalina.jar:8.5.84] at java.util.concurrent.FutureTask.run ( FutureTask.java:266 ) [?:1.8.0_351] at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1149 ) [?:1.8.0_351] at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624 ) [?:1.8.0_351] at java.lang.Thread.run ( Thread.java:750 ) [?:1.8.0_351] Caused by: java.io .FileNotFoundException: class path resource [egovframework/spring/mybatis.xml] cannot be opened because it does not exist at org.springframework.core.io .ClassPathResource.getInputStream( ClassPathResource.java:172 ) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory( SqlSessionFactoryBean.java:361 ) ~[mybatis-spring-1.2.3.jar:1.2.3] at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet( SqlSessionFactoryBean.java:343 ) ~[mybatis-spring-1.2.3.jar:1.2.3] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1637 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1574 ) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] ... 21 more 2월 04, 2023 8:47:03 오후 org.apache.catalina.core.StandardContext listenerStart 심각: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in file [C:\Users\신명상\Desktop\교육\framework_inflearn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-datasource.xml]: Invocation of init method failed; nested exception is java.io .FileNotFoundException: class path resource [egovframework/spring/mybatis.xml] cannot be opened because it does not exist at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1578 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:545 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:482 ) at org.springframework.beans.factory.support .AbstractBeanFactory$1.getObject( AbstractBeanFactory.java:306 ) at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:230 ) at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:302 ) at org.springframework.beans.factory.support .AbstractBeanFactory.getBean( AbstractBeanFactory.java:197 ) at org.springframework.beans.factory.support .DefaultListableBeanFactory.preInstantiateSingletons( DefaultListableBeanFactory.java:753 ) at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:839 ) at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:538 ) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext( ContextLoader.java:446 ) at org.springframework.web.context.ContextLoader.initWebApplicationContext( ContextLoader.java:328 ) at org.springframework.web.context.ContextLoaderListener.contextInitialized( ContextLoaderListener.java:107 ) at org.apache.catalina.core.StandardContext.listenerStart( StandardContext.java:4759 ) at org.apache.catalina.core.StandardContext.startInternal( StandardContext.java:5229 ) at org.apache.catalina.util.LifecycleBase.start( LifecycleBase.java:183 ) at org.apache.catalina.core.ContainerBase$StartChild.call( ContainerBase.java:1424 ) at org.apache.catalina.core.ContainerBase$StartChild.call( ContainerBase.java:1414 ) at java.util.concurrent.FutureTask.run ( FutureTask.java:266 ) at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1149 ) at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624 ) at java.lang.Thread.run ( Thread.java:750 ) Caused by: java.io .FileNotFoundException: class path resource [egovframework/spring/mybatis.xml] cannot be opened because it does not exist at org.springframework.core.io .ClassPathResource.getInputStream( ClassPathResource.java:172 ) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory( SqlSessionFactoryBean.java:361 ) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet( SqlSessionFactoryBean.java:343 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1637 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1574 ) ... 21 more 2월 04, 2023 8:47:03 오후 org.apache.catalina.core.StandardContext startInternal 심각: 하나 이상의 리스너들이 시작하지 못했습니다. 상세 내역은 적절한 컨테이너 로그 파일에서 찾을 수 있습니다. 2월 04, 2023 8:47:03 오후 org.apache.catalina.core.StandardContext startInternal 심각: 이전 오류들로 인해 컨텍스트 [/Egov_WEB]의 시작이 실패했습니다. 2월 04, 2023 8:47:03 오후 org.apache.catalina.core.ApplicationContext log 정보: Closing Spring root WebApplicationContext 2월 04, 2023 8:47:03 오후 org.apache.coyote.AbstractProtocol start 정보: 프로토콜 핸들러 ["http-nio-8080"]을(를) 시작합니다. 2월 04, 2023 8:47:03 오후 org.apache.catalina.startup.Catalina start 정보: Server startup in 6920 ms 이런 에러와 함께 프로젝트가 갑자기 실행이 안되는데 해결책을 찾을 수 없어 문의 올립니다.
안녕하세요 선생님 질문드립니다. 2번 케이스 인풋이 아래와 같습니다 AKDEF 5 AYKGDHEJ AQKWDERTFYP CTFKSBDEA ASKGHDEF WOPASFKGHDEF 저는 문제를푸니 no,yes,no,yes,yes 로 나오는데 마지막 WOPASFKGHDEF 이건 yes 아닌가요? 정답은no,yes,no,yes,no 여서 2번만 wrong 앤서가 나와서요..문제를 제가 잘못이해한걸까요? 아래는 제코드입니다. import sys from collections import deque sys.stdin = open("in2.txt",'r') need = input() n = int(input()) for i in range(n): plan = input() dq = deque(need) for x in plan: if len(dq) != 0: if dq[0] == x: dq.popleft() if len(dq) == 0: print("#%d YES" %(i+1)) else: print("#%d NO" %(i+1))
http://boj.kr/3dd3ee851f2a4530928260c354dd2deb 우선, 소스 공유합니다. 강사님 께서는 quard함수의 탐색 범위를 for(int i = y; i < y+ size; i++){ for(int j = x; j < x + size; j++){ 이렇게 잡으셨고 저는 for(int i = 0; i < size; i++){ for(int j = 0; j < size; j++){ 이렇게 잡았는데요. 의미적으로 같지 않나 생각합니다. 답이 다른 걸로 보아 문제가 있기는 한거 같은데 뭐가 잘못 된지 모르겠습니다. 도와주세요.
0.3 운영체제가 해주는 일들 강의에 04:11초에 되감기 되길래 강의를 다 보고 다시 확인 해보니까 계속 오류났던 구간의 되감기 오류가 없어졌더라구요 강의를 처음 수강할 때는 원래 이렇게 되감기가 되는 건가요? 해결방법이 있다면 알려주시면 감사하겠습니다. +) 강의를 다 본 후에도 여전히 다른 구간에서 또 되감기 오류가 발생합니다.
기존에 제네릭스를 사용하기 위해 Wrapper클래스를 사용하여 Integer, Double과 같이 정의한 뒤에 사용했었는데 현 강의에서는 public static <T, V> void orderCoffee(T name, V coffee){ System.out.println(coffee + " 준비 완료 : "+name); } 이와같이 선언 한뒤 orderCoffee(27, "라떼") 와 같이 호출을 하는데 Wrapp를 사용해주어야하는 경우와 아닌 경우가 구분이 잘 가지 않습니다...
강사님! rcproject 파일 로드하기 영상에서 loadExperience메서드를 통해 Experience.rcproject 파일 내의 장면들을 로드하여 보여주잖아요? 제게 안되서 강사님 파일로도 실행해 보았는데 '장면'들이 나타나지가 않네요? ㅜㅜ xcode가 업데이트 되면서 발생한 문제일까요? 나머지 createText나 createImage, createVideo 는 잘 동작해요!!
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요 상태관리 라이브러리 관하여 여쭤볼게 있습니다. 상태관리 라이브러리가 많은데 그중 riverpod을 쓰시는 이유가 있으신가요? 다른 상태관리 라이브러리 (Provider, Bloc, Get 등)을 사용해도 강의에 나온것과 같은 기능, 같은 패턴으로 구현할수 있나요?
sng 기획하기 12강 가판대, 광고판 11분 30초 화면입니다. 친구 가판대 선택 마지막 과정에서 '판매가격 >= 보유골드' 가 yes일 경우 골드 소비 후 상품 획득인데 그것보다 판매 가격보다 보유골드가 많을 경우 즉, '보유골드 >= 판매가격' 일 때, 골드 소비 후 상품 획득 과정이 더 올바르지 않나요?
안녕하세요 콘솔에 404 에러가 떠서 목서버를 확인해보니 아래와 같은 오류가 떴는데 이러한 경우 어떻게 해결할 수 있을까요.. { "error": { "name": "usageLimitError", "header": "Usage limit reached", "message": "Your team plan allows 1000 mock server calls per month. Contact your team Admin to up your limit." } }
안녕하세요. '자바 스크립트로 뉴스 기사 본문만 보이게 하기' 강의목차를 수강하는 중간에 궁금한 점이 생겨서 이렇게 질문남깁니다. querySelector는 #이나 . 을 이용하는 걸로 알고있는데, 제가 사용하려는 부분이 i 태그인 경우에는 어떻게 입력해야하는지 모르겠습니다..