문제

IBM WebSpehre Server 6.1에 귀 파일을 배포하고 있습니다. 관련 주제에 대한 스택 오버 플로우 게시물을 살펴보면, 이것이 Java Mbean API를 통해 가능하다는 것을 수집 할 수있었습니다. 또는 IBM이 API였습니다 - 문제는 이러한 API 목록이 요약 된 곳을 찾을 수 없다는 것입니다. 하나는보기 시작합니다. 설치 위치를 하드 코딩하고 'installedApps'디렉토리를 살펴보면 파일을 찾을 수 있지만 동적은 아닙니다.

이 API와 함께 일한 경험이 있습니까? 배포 된 이어의 디스플레이 이름을 동적으로 찾는 다른 방법이 있습니까?

편집 -이 정보가 원하는 이유는 다음 컨벤션 "EarappName.Properties"로 명명 된 속성 파일을 동적으로로드하는 것이라고 덧붙여 야합니다. 신청

편집 2- 또한이 앱은 항상 A에 배치 될 것임을 주목해야합니다. 그러나 그렇지 않은 경우 일반적인 비 독점 솔루션이 선호되지만 현재는 필요하지 않습니다.

편집 3- 내가 성취하고 싶은 것 : 응용 프로그램 코드 내에서 배포 된 이어의 디스플레이 이름을 동적으로 찾는 방법이 있습니까?

도움이 되었습니까?

해결책

이 목표의 전체 이유가 속성 파일을 읽는 경우 다른 접근법을 권장합니다.

WebSphere Shared Library를 사용하십시오.

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/tcws_sharedlib.html

배포 된 각 귀에는 해당 귀에 액세스 해야하는 속성 파일이 포함 된 별도의 디렉토리가 있습니다.

특성이 포함 된 각 디렉토리에 대한 공유 라이브러리 항목을 작성하십시오.

귀에서 공유 라이브러리 참조를 작성하여 필수 공유 라이브러리에 대한 공유 라이브러리 참조.

.

그러나 아래 링크는 귀하의 접근 방식에 도움이 될 수 있습니다.

프로그래밍을 통한 응용 프로그램 관리

인터페이스 appmanagement

다른 팁

직접 답변은 아니지만 속성 파일에 하드 코드 이름을 사용하는 것이 더 간단하지 않습니까? 결국, 주어진 응용 프로그램이 어떤 파일을로드 할 파일을 인식하는 것이 합리적 인 것 같습니다. 배포 디스크립터에서 디스플레이 이름을 읽는 코드 작성 (특히 귀하이기 때문에) 응용 프로그램 구성 요소 제공자,, 소유 한 것에 의존해서는 안됩니다 응용 프로그램 어셈블러).

나는 여기에서 같은 것을 성취하려고 노력하고 있습니다. 런타임에 meta-inf/application.xml에있는 응용 프로그램 이름을 찾으려고합니다.

Log4J 파일 appender 에서이 appName을 사용하여 현재 로깅하는 응용 프로그램에서 적절한 로그 파일 이름 기반을 만듭니다. 우리는 많은 프로그래머와 많은 앱을 보유하고 있으며 프레임 워크에서 일부 컨벤션을 시행해야합니다.

나는 단순히 전화 할 수 있습니다.

InputStream in = new MyObject().getClass().getResourceAsStream(“META-INF/application.xml”);

또한 클래스 로더를 'Parent_Last/First'및 '단일 클래스 로더'로 변경하려고했지만 작동하지 않습니다.

전쟁 파일에 대한 FileSystem에서 application.xml을 찾을 수는 있지만 항상 작동할지 확신 할 수 없습니다.

JMX API가 유일한 방법입니까?

이는 애플리케이션이 그대로 알 수있는 것이 아니라 응용 프로그램 서버를 포함한 귀 처리 도구입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top