2016-12-14 22 views
1

Jacorb 2.2.3 Corba 구현을 사용합니다. 대부분의 경우 거의 모든 것이 잘 동작합니다. 일부 동시 시나리오에서 Jacorb는 CORBA 서버 객체에서 API를 호출 할 때 간헐적으로 정지합니다.Jacorb가 원격 API 호출에 응답하도록 응답하지 않음

Jacorb.properties를 조정하여 다시 만들려고했습니다. 심지어 서버 측에서 닫힌 객체로 작업하려고하지만 헛되이 시도합니다.

서버 스레드 덤프에서 거기에 어떤인가 나는 두 가지
  1. 을 찾고 있어요

    "RequestProcessor-26" ... nid=0x25cc in Object.wait() [0x000000004237f000]     
        java.lang.Thread.State: WAITING (on object monitor) 
        at java.lang.Object.wait(Native Method) 
        at java.lang.Object.wait(Object.java:502) 
        at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:700) 
        - locked <0x0000000150714178> (a org.jacorb.poa.RequestProcessor) 
    
    "RequestProcessor-25" ...nid=0x3250 in Object.wait() [0x000000004227f000] 
        java.lang.Thread.State: WAITING (on object monitor) 
        at java.lang.Object.wait(Native Method) 
        at java.lang.Object.wait(Object.java:502) 
        at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:700) 
        - locked <0x0000000150e90748> (a org.jacorb.poa.RequestProcessor) 
    

    아래와 같이 Jacorb 동시 요청을 처리하는 데 사용의 RequestProcessor 스레드가 잠겨 있는지 관찰 Jacorb 2.2.3의 알려진 문제점은 클라이언트가 서버 측 오브젝트에서 API를 호출하는 동안 정지 상태가되는 것입니까?

  2. 는 여러 개의 동시 세션을 실행하여 RequestProcessor가의 잠금 상태를 다시 시도했지만 나는 JacORB의 버전 이후 스레드 덤프에서 RequestProcessor를위한
+0

문제를보고 할 때 유용한 http://www.jacorb.org/contact.html을 찾을 수 있습니다. JacORB 3을 사용하지 않는 이유가 있습니까? 아니면 심지어 최신 것? – tuergeist

+0

@tuergeist 예, 생산 환경 및 항아리 업그레이드는 프로세스 및 승인을 기다려야하기 때문입니다. 그래서 2.2.3에서 다시 만들 수있는 일관된 단계가 있는지 궁금해합니다. 그 때까지는 3.8이나 그 때까지 가장 늦게 될 것입니다. – Kiran

+0

@Kiran 서버의 작업자 스레드 수를 늘리려고 했습니까? 또한 서버 객체를 구현하면 모두 동일한 객체를 기다리는 동안 이러한 잠금이 발생할 수 있습니다. – BJovke

답변

0

가 있었다 여러 수정을 "고정"을 참조하지 않았다. 일부는 동기화 코드를 둘러 봤습니다. 현재 버전은 3.8입니다. 그 문제에 대한 재현을 시도하는 것이 좋습니다. JacORB

+0

문제가 3.8에서 발생하지 않을 수도 있다는 데 동의하지만 내부적 인 이유로 인해 즉시 업그레이드 할 수 없습니다. 그래서 2.2.3에서 다시 만들 수있는 일관된 단계가 있는지 궁금해서 유효한 이유가있는 3.8에 대해 푸시 될 수 있도록 – Kiran

+0

2.2.3이 2005 년 12 월에 릴리스되었으므로 2016 년 7 월에 릴리스 된 3.8에 비해 다소 오래되었습니다. 시험해 볼 수있는 재현 가능한 테스트 케이스가 도움이 될 것입니다. 또는 http://byteman.jboss.org/를 사용하여 시나리오를 모니터/트리거 할 수 있습니다. –

+0

불행히도 나는 그것을 재현하기위한 고정 된 단계를 생각해 낼 수 없었다. – Kiran