2016-11-04 3 views
0

우리가 .properties 파일의 속성module.classloader을 이용하여 동적 모듈 작성시 항아리를로드 할 수있는 문서에 따르면봄 XD 동적 모듈 클래스 로더 문제

http://docs.spring.io/spring-xd/docs/1.3.1.RELEASE/reference/html/#module-class-loading

이틀 동안 이 기능을 테스트하려고합니다. 작동하지 않습니다. 옵션 module.classloader 단순히 내가 XD 코드 module.classloader 라는 이름의 문자열을 찾을 수 없습니다

을 무시하는 것 같다.

https://github.com/spring-projects/spring-xd/blob/master/spring-xd-module/src/main/java/org/springframework/xd/module/options/ModuleUtils.java

위 클래스의 코드는 문서와 일치하는 것 같다 :하지만이 클래스에서 module.classpath라는 또 다른 하나를 발견했다. 그러나 불행히도 그것은 효과가 없습니다. 내 클래스가 발견되지 않고 난 내가 일을 발급 --name XX --defintion 만들 때 내가 (작성시로드 항아리를 넣어 dir4jars라는 이름의 모듈 옵션이

java.lang.ClassNotFoundException가

얻을 ..). 그것은 디렉토리, 그리고 둘 다 module.classpathmodule.classloader으로, 다음과 같은 가능성을 테스트 한 :
module.classpath=${dir4jars}/*.jar 
module.classloader=${dir4jars}/*.jar 
. 
. 
job create --name jobName --definition "myJobModuleName --dir4jars=C:/ELS/Flash/libxd" --deploy 

and 

job create --name jobName --definition "myJobModuleName --dir4jars=file:C:/ELS/Flash/libxd" --deploy 

내가 dir4jars 절대 외부 XD 가정 할 필요가있다. 내 질문 :

  • 이 동적로드에 사용할 올바른 옵션은 무엇입니까? module.classpath 또는 module.classloader?
  • 위에서 언급 한 절대적인 디렉토리를 어떻게 설정할 수 있습니까?

고맙습니다.

답변

0

나는 module.classpath이어야하고 module.classloader은 실수로 보입니다. module.classpath=file:C:/ELS/Flash/libxd을 명시 적으로 사용할 때이 기능이 작동합니까?

사이드 노트 : 스프링 XD의 후계자 인 Spring Cloud Data Flow을 사용해 보시기 바랍니다.

+0

이 기능은 XD에서 정말 좋지 않습니다 :-(로그가 없으면 코드를 읽었을 때, 문제가 발생했을 때 Container가 실행을 멈추었습니다! Spring Cloud Data Flow는 아직 생산 단계에 있지 않으며, 실행을위한 다른 기술 ... 내 프로젝트의 맥락에서 벗어났습니다. ... – Fado

+0

스프링 클라우드 데이터 흐름이 프로덕션 환경에서 사용되고 1.0 GA가 2016 년 7 월에 릴리스되었습니다. 다른 기술을 마스터하지 않아도됩니다. Spring Cloud Data Flow를 실행하는 데 도움이되는 문서입니다.이 문서는 다음을 도울 수 있습니다. http://docs.spring.io/spring-cloud-dataflow/docs/1.1.0.BUILD-SNAPSHOT/reference/html/#migration-guide –