2017-05-23 5 views
0

이 AEM 6.2 jar가 있고이 jar를 실행하려고하면 필요한 모든 파일과 폴더가 만들어지고/launchpad/felix 디렉토리 아래에 모든 번들이 만들어집니다.AEM jar는 모든 번들을 어떻게 생성합니까?

이제 번들을 삭제하거나 이름을 바꾸면 예 : bundle272의 이름을 bundle272aaa로 변경했습니다. 항아리를 다시 실행하려고하면 번들 bundle272가 디렉토리에서 제거됩니다.

이 jar를 다른 위치에 복사하고 실행하려고하면/launchpad/felix 위치에서 bundle272를 다시 볼 수 있습니다.

왜 이런 일이 발생합니까?

+0

여기에 목표는 무엇입니까? 무엇을 성취하려고합니까? – Jens

+0

목표가 조금 다릅니다. 하나의 번들이 다른 번들에 미치는 영향을 이해하려고했지만이 문제가 발생했습니다. – Ngupta

+0

파일 시스템에서 번들을 삭제하지 않아도됩니다. http : // localhost : 4502/system/console/bundles로 가서 번들을 중지하십시오. 즉, 번들은 OSGi 서비스의 형태로 기능을 제공합니다. 다른 번들은 OSGi 서비스를 "소비"할 수 있습니다. 하나의 번들은 이메일 서비스를 제공 할 수 있으며 다른 번들은이 서비스를 사용하여 이메일을 전송할 수 있습니다. 전자 메일 번들을 중지하면 다른 번들은 전자 메일을 더 이상 보낼 수 없습니다. 이것은 번들이 서로 어떻게 관련되어 있는지 매우 짧은 기간입니다. (분명히, 그것에는 더 많은 것이 있지만 코멘트에는 너무 많다). – Jens

답변

1

AEM jar (보관)에는 모든 파일이 포함되어 있습니다. AEM jar를 복사하고 실행하면 crx-quickstart 디렉토리에 모든 파일 (번들 포함)을 추출합니다.

+0

예. 이것은 내가 생각한 것입니다. 그러나 당신은 말하고 있습니까? 그것은 처음에만 추출됩니다. – Ngupta

+0

또한, 내가 묶음을 만드는 모든 jar 파일을 검사하려고했는데, 나는 aem jar 파일에있는 모든 파일들을 찾을 수 없었다. – Ngupta

+0

그것은 달려있다. 필자가 말한 것처럼 몇몇 파일은 항상 덮어 쓰여지고 (예 :'sling.properties') 번들 같은 파일은 매번 추출되지 않을 수도 있습니다. 아마도 시작 시간을 너무 늦추지 않을 것입니다. – Jens

0

저는 이것이 아주 좋은 질문이라고 생각합니다. crx-quickstart/launchpad/felix 폴더에있는 번들은 캐시로 유지됩니다. 번들은 실제로 설치 폴더의 다른 위치에있는 crx 저장소에 있습니다.

Apache Sling은 JCR Installer을 사용하여 저장소의 다른 위치에서이 번들을 설치합니다. 이러한 이유 때문에/apps/geometrixx/install과 같은 설치 폴더에 osgi jar를 AEM에 배포해야합니다.

Apache Sling은 번들 &을 디스크에 저장하는 File installer이라는 다른 설치 프로그램도 제공합니다.

나는 JCR 설치 프로그램이 파일 설치 프로그램을 상속 함으로서 구현되었다고 추측하고 있습니다. 그래서 모든 번들이 디스크에 쓰여지지만 이름을 바꾸거나 삭제해도 디스크에 다시 복원됩니다. 나는 소스 코드를 조사 할 수 없기 때문에이 순간에 이것을 검증하고 있지만 이것은 아마도 가장 두려운 일이다.

+0

항아리를 다시 시작하더라도 다시 복원되지 않습니다. 항아리를 다른 곳으로 복사 한 다음 시작하거나 런치 패드 폴더를 완전히 삭제 한 경우에만 모든 파일이 저장됩니다. – Ngupta