2013-08-06 5 views
0

Weblogic 12.1.2에서는 RMI 연결에서 제한 시간을 설정하기 위해 RMI_TIMEOUT ("weblogic.jndi.responseReadTimeout") 또는 RESPONSE_READ_TIMEOUT ("weblogic.jndi.responseReadTimeout") 속성을 사용할 수 있습니다. 그러나 weblogic 12.1.1에서는 작동하지 않습니다. (존재하지 않으므로). Weblogic rmi timeout not working

이 API를 참조하십시오 http://docs.oracle.com/middleware/1212/wls/WLAPI/weblogic/jndi/WLContext.html

이상한 일이 RMI_TIMEOUT은 12.1.2에서 더 이상 사용되지 않습니다 것입니다,하지만 그것을하지 WEBLOGIC 12.1.1에 존재 않습니다, 참조 : http://docs.oracle.com/cd/E13222_01/wls/docs100/javadocs/weblogic/jndi/WLContext.html

을 그럼에도 불구하고, 나는 모두 시도 (및 기타 속성) 및 그들 중 누구도 weblogic 12.1.1에서 작업하지 않았습니다 (12.1.2에서만 작동했습니다).

Java 7이 필요하기 때문에 weblogic 12.1.2로 마이그레이션 할 수 없으며 지금은 변경할 수 없습니다.

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

관찰 : 때때로 응답하지 않는 외부 서비스에 액세스하기 때문에 RMI 시간 초과를 설정해야합니다. 따라서 다른 서비스와 독립적으로 내 애플리케이션을 필요로하고 더욱 견고하게 만들어야합니다.

답변

1

해결책을 찾았습니다.

weblogic 패치 (weblogic 12.1.1에서 weblogic 12.1.1.0.5까지)를 적용해야했습니다.

12.1.1.0.5에서 RMI_TIMEOUT 속성에 액세스 할 수있었습니다. 12.1.2 원시 버전에는 존재하지 않지만 12.1.2에서는 더 이상 사용되지 않습니다. 패치 적용 후 사용 가능하게됩니다.

# 내가 웹 로직 고유의 API를 사용하는 경우, RMI 제한 시간은 모든 버전에서 작동

편집 :

Environment env = new Environment(); 
env.setProviderUrl(""); 
env.setInitialContextFactory("weblogic.jndi.WLInitialContextFactory"); 
env.setRMIClientTimeout(30000L); 

Context context = env.getInitialContext(); 

가 누군가를 도움이되기를 바랍니다. 티아구