월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링 부트 - 핵심 원리와 활용
Caused by: java.net.BindException
내장 톰캣2-서블릿 강의를 수강하고 있는데 이와 같은 오류가 계속해서 발생합니다. 8080포트를 강제 종료 후 다시 실행해보고 톰캣서버포트도 변경해봤는데도 계속 이런 오류가 발생합니다. 이 문제는 어떻게 해결할 수 있나요?
- 미해결스프링 부트 - 핵심 원리와 활용
포트 강제 종료
서블릿 초기화를 실행하면 아래와 같은 오류가 발생해 8005포트를 종료 후 다시 실행해도 똑같은 오류가 발생합니다. 혹시 몰라 8080포트도 강제종료하려고 강의에서 알려주신대로 명령어를 입력하면 위와 같이 떠서 10028을 종료해준 뒤에 다시 실행해도 같은 오류가 발생합니다. 이 문제는 어떻게 해결할 수 있을까요?
- 미해결스프링 부트 - 핵심 원리와 활용
프로메테우스 병렬처리 클라이언트
안녕하세요 질문이 있습니다. 프로메테우스 라이브러리로 클라이언트를 만들때파이썬 언어의 병렬처리를 이용하면 프로메테우스가 잘 작동하지 않는다는 코멘트가 있는데혹시 관련하여 아시는바가 있나요? 파이썬 언어를 사용하여,프로메테우스 병렬처리 클라이언트를 만들려고 하는데해당 사항이 맞다면 작업을 고려해봐야 할 것 같아서 고민입니다. 강의와 직접적인 연관이 없으나관련 분야에 전문가이실 것이라 생각되어질문 드렸습니다. 관련하여 아시는 내용이 있으시다면코멘트 부탁 드리겠습니다.
- 미해결스프링 부트 - 핵심 원리와 활용
springboot-web 사용하지 않고, springboot-actuator 사용하는 방법 있을까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]제가 현재 액츄에이터를 적용하려는 프로젝트는 spring-boot-starter만 사용해서 ApplicationRunner를 상속받아서 사용하고 있습니다. 이 상태에서 spring-actuator를 붙여서 사용해보니 actuator port를 열지 않아서, springboot-starter-web을 추가하고 application port도 열고, actuator port도 열리는 것을 확인했습니다. 기존 상태대로 applicationRunner를 상속받아 사용하고, actuator 관련 서버만 따로 떠서 port를 열어주는 방법은 없을까요?
- 미해결스프링 부트 - 핵심 원리와 활용
프로메테우스 연동
안녕하세요 질문이 있습니다.프로메테우스 설치 부분에 있어서아래의 내용을 추가하면 애플리케이션을 연동할 수 있었습니다. #추가 - job_name: "spring-actuator" metrics_path: '/actuator/prometheus' scrape_interval: 1s static_configs: - targets: ['localhost:8080'] 혹시 아래와 같이 추가하면 현재 pc의 로컬이 아닌다른 서버에서 매트릭을 받을 수 있을까요? #추가 - job_name: "spring-actuator2" metrics_path: '/actuator/prometheus2' scrape_interval: 1s static_configs: - targets: ['http://192.*.*.*:8080'] <-이 부분을 서버의 주소로 변경
- 해결됨스프링 부트 - 핵심 원리와 활용
javaw 로 백그라운드 실행한 이후에 재시작할 때는 종료 후 시작으로 하면 되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]저희 회사는 지금 외장 톰캣을 사용하고 있습니다. 그런데 외장 톰캣과 관련해서 SpringApplicationShutdownHook 에 버그가 있고, 최근까지도 spring github 에 issue 로 보고된 것으로 알고 있습니다. 그 외에도 불편한 건 좀 있지만 특히 이 버그 때문에 내장 톰캣으로 배포해야겠다는 생각을 했습니다. java -jar 로 실행하면 포어그라운드에서 실행되며 프롬프트를 나가면 해당 프로세스도 자동으로 종료가 됩니다. 그래서 javaw -jar 로 실행해서 백그라운드로 실행하려고 합니다. 1. 한 번 배포한 이후에는 매번 백그라운드의 프로세스를 종료하고 다시 시작하면 되나요?2. 내장 톰캣 방식으로 애플리케이션을 실행하면, 외장 톰캣에 ROOT.war 를 옮기면 자동으로 재시작하는 그런 방법은 더 이상 사용할 수 없나요?3. 1번과 2번이 그렇다는 가정 하에 제가 아는 지식 선에서는, 서비스의 중단 없이 배포를 하기 위해서는 2대의 서버 또는 서비스와 로드 밸런서를 활용해서 순차적으로 2개의 애플리케이션에 재시작 스크립트를 재실행하면 될 것 같습니다(CentOS 와 젠킨스를 사용하고 있습니다).혹시 실무에서 더 추천할 만한 배포 방식이나, 관련 레퍼런스를 알기 위한 키워드, 공부 방향을 배울 수 있을까요??
- 미해결스프링 부트 - 핵심 원리와 활용
스프링 MVC 서블릿 컨테이너 초기화 지원
http://localhost:8080/hello-spring을 실행해도 System.out.println("HelloController.hello");이 출력되지 않습니다. 어떻게 해결하나요?
- 미해결스프링 부트 - 핵심 원리와 활용
톰캣설정 - 인텔리 J무료 버전 로그
톰캣 설정 후 실행하면 아래와 같은 문장만 찍히고 로그가 찍히지 않습니다.-이 문제는 어떻게 해결해야 하나요?
- 미해결스프링 부트 - 핵심 원리와 활용
자동 구성 라이브러리 사용하기2 관련 질문
[질문 내용]만들어 주신 강의 잘 보고 있습니다.자동 구성 라이브러리 사용하기2 강의 내용 보면project 에서 memory.jar를 자동구성으로 사용합니다.강의 후반부(5:01 ~5:10)에 언급하신것 처럼 jar파일에 자동 구성 설정이 되어야 가능한 것 같은데순수한 jar(Spring 손이 묻어있지 않은) 같은 경우 자동설정은 곤란한걸까요? 그럴 경우 전 강의에서 한것 처럼 project에서 @Configuration 을 이용하여 빈을 전부 등록해서 진행하는게 유일한 방법인지 궁금합니다.
- 미해결스프링 부트 - 핵심 원리와 활용
Environment#getProperty() 호출 시 application.properties의 요소보다 systemEnvironment의 요소를 우선적으로 읽는 문제
[문제 상황]Environment 스프링 빈 객체 env가 있습니다.env.getProperty("username"); 호출 시 "admin"이 출력됩니다.이는 application.properties에서 지정하지 않은 값입니다. 디버그 모드로 찾아본 결과 Environment 객체가 application.properties 파일보다 systemEnvironment에 저장된 값을 더 우선적으로 가져오는 것 같습니다. - 아래 사진 참고application.properties 파일url=local.db.com username=local_user password=local_pw #--- spring.config.activate.on-profile=dev url=dev.db.com username=dev_user password=dev_pw #--- spring.config.activate.on-profile=prod url=prod.db.com username=prod_user password=prod_pw Environment#getProperty("username");실행 결과 [질문]systemEnvironment는 어디에 저장된 값인가요.systemEnvironment보다 application.properties가 더 좁은 범위니까 더 우선순위가 높아야 되는 거 아닌가요? systemEnvironment가 우선적으로 읽힌 원인(원리)이(가) 궁금합니다.어떻게 해야 application.properties 파일의 값을 제대로 읽을 수 있나요.
- 미해결스프링 부트 - 핵심 원리와 활용
catalina.out 로그 파일이 생성되지 않습니다.
war 빌드와 배포 강의를 따라 catalina.out 로그 파일을 확인하려고 하는데 해당 파일이 없습니다. 어떻게 확인할 수 있을까요?
- 미해결스프링 부트 - 핵심 원리와 활용
혹시 강의 중에 설치한 플러그인이 뭔지 알수 있을까요??
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 혹시 강의에서 설치한 플러그인 이 뭔지 알수 있을까요? 제화면하고 다른듯하네요
- 미해결스프링 부트 - 핵심 원리와 활용
톰캣 연결하여 실행이 안됩니다.
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@1189dd52] 답변 부탁드립니다.
- 미해결스프링 부트 - 핵심 원리와 활용
사이드 프로젝트를 만드려고 하는데 어느편까지 봐야할까요?
사이드 프로젝트를 만드려고 하는데 어느편까지 보고 만드는게 좋을까요?강의를 다 듣고 사이드 하기에는 좀 늦을 것 같아서...
- 해결됨스프링 부트 - 핵심 원리와 활용
docker로 prometheus, grafana 사용하는 경우 설정 가이드
prometheus.yml global: scrape_interval: 15s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 rule_files: scrape_configs: - job_name: "docker" static_configs: - targets: ["localhost:9090"] #추가 - job_name: "spring-actuator" metrics_path: '/actuator/prometheus' scrape_interval: 1s static_configs: - targets: ['host.docker.internal:8080']targets을 localhost:8080으로 하면 안됩니다. ㅠㅠ참고: https://yoo-young.tistory.com/90 targets을 localhost:8080으로 하면 아래와 같은 결과가 나옵니다. 반드시 targets: ['host.docker.internal:8080']로 설정해 주세요! docker-compose.ymlversion: '3' services: grafana: image: grafana/grafana:latest container_name: grafana restart: always ports: - "3000:3000" volumes: - grafana-data:/var/lib/grafana - ./grafana/provisioning/:/etc/grafana/provisioning/ environment: - GF_SERVER_ROOT_URL=http://localhost:3000 - GF_SECURITY_ADMIN_PASSWORD=admin depends_on: - prometheus prometheus: image: prom/prometheus:latest container_name: prometheus restart: always ports: - "9090:9090" volumes: - ./prometheus/config:/etc/prometheus/ - prometheus-data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' volumes: grafana-data: prometheus-data: 결과http://localhost:9090/targets 감사합니다.
- 미해결스프링 부트 - 핵심 원리와 활용
디스패처 서블릿과 스프링 컨테이너 연결 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의 내용대로 스프링 MVC 디스패처 서블릿을 생성한 후 스프링 컨테이너를 연결하려고 보니까 다음과 같이 오류가 뜹니다.
- 미해결스프링 부트 - 핵심 원리와 활용
강사님이 올리신 테스트 코드 실행해도 다음과 같은 오류가 뜨네요
org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'hello.member.MemberRepositoryTest'. at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:53) at java.base@17.0.8/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@17.0.8/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base@17.0.8/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@17.0.8/java.lang.reflect.Method.invoke(Method.java:568) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at jdk.proxy1/jdk.proxy1.$Proxy2.processTestClass(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:176) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:133) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Caused by: org.gradle.internal.UncheckedException: java.lang.ClassNotFoundException: hello.member.MemberRepositoryTest at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:68) at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:112) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:54) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:89) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:79) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51) ... 18 more Caused by: java.lang.ClassNotFoundException: hello.member.MemberRepositoryTest at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:110) ... 23 more
- 미해결스프링 부트 - 핵심 원리와 활용
EmbedTomcatServletMain 실행 시 발생하는 오류
complete 코드를 사용해도 다음과 같은 오류가 나옵니다Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@35cabb2a]
- 미해결스프링 부트 - 핵심 원리와 활용
외장 Tomcat에서 서블릿컨테이너 초기화 시 오류
안녕하세요~ 김영한 이사님 강의 너무나 재미있게 잘 듣고 있습니다~서블릿컨테이너 초기화를 교육과정에 따라 내장 Tomcat을 이용해서 실행하면 잘 실행됩니다.해당 코드를 외부 서버에 동일한 버전 Tomcat(V10)서버 webapps 폴더에 올려서 실행하면 아래와 같은 오류가 발생하는데 구글링을 해봐도 해답을 찾을 수 없어서 질문 드립니다. 16-Sep-2023 14:42:28.075 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/tomcat/apache-tomcat-10.1.13/webapps/ROOT.war]16-Sep-2023 14:42:28.482 SEVERE [main] org.apache.catalina.startup.ContextConfig.processServletContainerInitializers Failed to detect ServletContainerInitializers for context with name [] java.io.IOException: java.lang.ClassCastException: Cannot cast hello.container.MyContainerInitV1 to jakarta.servlet.ServletContainerInitializer at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:238)
- 해결됨스프링 부트 - 핵심 원리와 활용
프로메테우스 기본 설정
안녕하세요.현재 서비스중인 사이트에 액츄에이터 적용중에 있습니다!웹에서는 /actuator/prometheus 접근은 되는데 프로메테우스 화면에서 보면 상태가 down이고 에러가 납니다. URL 링크 연결은 잘돼요..스프링 시큐리티쪽에서 별도로 처리를 해줘야되는건지... 예측되는 부분이 있을까요?