ActiveMQ SSL 응용의 5 Spring + ActiveMQ SSL 연결 열기
7698 단어 응용 프레임 워 크activemqsslspring
2. 준비 작업 1, client. ks, client. ts 파일 이 생 성 되 었 습 니 다.2. 프로젝트 에 있 는 spring + activemq 는 정상적으로 사용 할 수 있 고 사용 하 는 Connection Factory 는 ActiveMQ Connection Factory 입 니 다.3. ActiveMQ 엔 드 SSL 이 정상적으로 오픈 되 었 습 니 다.이 준비 작업 의 상세 한 조작 은 위의 내용 을 볼 수 있다.
2. 작업 절차 목적: ActiveMQConnectionFactory 를 ActiveMQSslConnectionFactory 로 교체 하고 해당 하 는 설정 매개 변 수 를 더 하면 Spring 의 관련 설정 파일 만 변경 하면 됩 니 다.1. client. ks, client. ts 를 프로젝트 프로젝트 프로젝트 디 렉 터 리 에 복사 하고 Spring - activeMQ 의 프로필 과 같은 디 렉 터 리 에 두 는 것 을 권장 합 니 다.2. application. xml 파일 을 수정 하고 ConnectionFactory 는 org. apache. activemq. activeMQSslConnectionFactory 로 변경 하 는 동시에 매개 변 수 는 brokerURL, keystore, trustStore, keystore Password, trustStorePassword 로 증가 합 니 다. 하나 도 없어 서 는 안 됩 니 다. 상기 5 개의 매개 변 수 는 해당 하 는 속성 값 을 설정 합 니 다 (두 파일 의 방문 경 로 를 주의 하 십시오).원래 설정 정보:
<bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://127.0.0.1:61616?wireFormat.maxInactivityDurationInitalDelay=30000" />
bean>
property>
<property name="maxConnections" value="100">property>
bean>
수정 후 설정 정보:
<bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQSslConnectionFactory">
<property name="brokerURL" value="ssl://127.0.0.1:61617?wireFormat.maxInactivityDurationInitalDelay=30000" />
<property name="keyStore" value="client1.ks " />
<property name="trustStore" value="client1.ts" />
<property name="keyStorePassword" value="asdfgh" />
<property name="trustStorePassword" value="qwerty" />
bean>
property>
<property name="maxConnections" value="100">property>
bean>
3. 시작 매개 변수 VM arguments 에:
-Djavax.net.ssl.KeyStore="E:/ssl/client1.ks" -Djavax.net.ssl.KeyStorePassword="asdfgh" -Djavax.net.ssl.trustStore="E:/ssl/ client1.ts" -Djavax.net.ssl.trustStorePassword="qwerty"
시작 이 완료 되면 ActiveMQ 관리 콘 솔 을 열 면 정상 적 인 경우 SSL 커 넥 터 에 연결 정보 가 있 는 것 을 볼 수 있 습 니 다.
3. 주의사항: 1. Eclipse 프로젝트 에서 Spring 프레임 워 크 설정 ActiveMQ 읽 기 키 와 인증서 파일 은 getResourceAsStream 방법 으로 호출 되 므 로 프로젝트 에 키 와 인증서 파일 을 저장 해 야 프로그램 이 정상적으로 읽 을 수 있 습 니 다. 프로젝트 이외 의 디 렉 터 리 에 놓 여 있 으 면 프로그램 이 읽 기 에 실 패 했 습 니 다. 이 점 은 자신 이 작성 한 자바 데모 류 와 약간의 차이 가 있 습 니 다.2. Eclipse 에서 jvm 시작 파 라 메 터 를 설정 할 때 프로젝트 에 저 장 된 키, 인증서 파일 의 경 로 를 사용 할 수 있 습 니 다. 명령 을 더욱 짧게 하기 위해 경로 가 짧 은 파일 을 도 입 했 습 니 다.3. 메시지 조작 전략 을 잡 습 니 다.
4. 자주 발생 하 는 오류 정보:
PKIX path building failed:sun.security.provider.certpath.SunCertPathBuilderException:unable to find valid certification path to requested target
쉽게 말 하면 인증서 파일 을 찾 을 수 없습니다.문제 원인: 시작 할 때 키 와 인증서 파일 경 로 를 지정 하지 않 고 파일 을 불 러 오 는 중 오류 가 발생 했 습 니 다. eclipse (maven + tomcat 7) 에서 이 오 류 를 보고 합 니 다.해결 방법 은 인자 VM arguments 를 시작 하고 인증 서 를 설정 하 는 경 로 를 추가 합 니 다. 위 와 같 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring AOP 설정 의 @ PointCut 문법Spring 절단면 입도 가 가장 작은 것 은 방법 등급 이기 때문에 execution 표현 식 은 유형, 유형, 방법 명, 매개 변수 명 등 방법 과 관련 된 부품 을 명확 하 게 지정 하 는 데 사용 할 수 있 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.