2017-12-01 23 views
0

사용중인 언어는 Java (Groovy)입니다.jedis - JMS 요청 후 redis에 연결할 수 없습니다 - 액세스가 거부되었습니다.

저는 JMS WebLogic 큐를 통해 파일을 보내기 위해 javax.JMS를 사용하고 있습니다. JMS 메시지 (별도로 확인 됨)를 성공적으로 전송 한 직후에 QueueSession 인스턴스에서 close() 메소드를 호출 한 다음 QueueConnection 인스턴스에서 호출합니다.

이 모든 후, 나는 jedis를 사용하여 레디 스에 연결을 시도 (다른 모든 환경에서 완벽하게 작동하는)와 나는 즉시이 오류 메시지가 : 나는 새로운 JedisPool을 (호출 할 때

java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register") 
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) 
at java.lang.SecurityManager.checkPermission(SecurityManager.java:585) 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.checkMBeanTrustPermission(DefaultMBeanServerInterceptor.java:1848) 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:322) 
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) 
at org.apache.commons.pool2.impl.BaseGenericObjectPool.jmxRegister(BaseGenericObjectPool.java:883) 
at org.apache.commons.pool2.impl.BaseGenericObjectPool.<init>(BaseGenericObjectPool.java:130) 
at org.apache.commons.pool2.impl.GenericObjectPool.<init>(GenericObjectPool.java:107) 
at redis.clients.util.Pool.initPool(Pool.java:44) 
at redis.clients.util.Pool.<init>(Pool.java:23) 
at redis.clients.jedis.JedisPool.<init>(JedisPool.java:185) 
at redis.clients.jedis.JedisPool.<init>(JedisPool.java:162) 
at redis.clients.jedis.JedisPool.<init>(JedisPool.java:28) 
at sun.reflect.GeneratedConstructorAccessor46.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83) 
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105) 
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:255) 
at com.<mysoftware>.core.Ecosystem.createRedisConnection(Ecosystem.groovy:93) 

입니다 ..) - 다시 JedisPool에 문제가 없습니다. JMS 대기열을 통해 파일을 보낸 후에 만이 문제가 발생합니다.

이 문제를 어떻게 해결할 수 있습니까? 나는 누군가가 java.policy 파일에 행을 추가 할 것을 제안했으나 내 프로그램에서이를 할 수 있습니까? 필자는 소프트웨어의 설치 프로세스에 새로운 매우 구체적인 단계를 추가하고 싶지 않습니다.

답변

0

JMS가 사용중인 포트 번호를 확인 했습니까? JMS에서 사용하는 포트 번호가 재 다이얼로 차단 될 수 있습니다. 유닉스 기반 컴퓨터를 사용한다면 telnet 명령을 사용하여 간단히 검사 할 수 있습니다. 예 :

telnet RedisInstance Portnumber 
+0

슬프게도, 포트 충돌이 아닙니다. 두 개의 다른 포트를 사용하고 있습니다. – user3804769