[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15611715#comment-15611715
 ] 

Flavio Junqueira commented on ZOOKEEPER-1394:
---------------------------------------------

Let me elaborate. I understand that folks are getting it with Tomcat and JBoss, 
but why would the class not be found? Is it because it is not loading the 
server package? Would it make any difference if {{ZooTrace}} were in a 
different package?

It is not a big deal to remove that {{ZooTrace}} call because it is really the 
only call to {{ZooTrace}} in the client currently, but I'd rather understand 
why it happens and fix the problem rather than remove the call if possible. Do 
you understand why this happens, [~wuwen]n? I read the explanation in the 
description, but I don't understand why the class isn't being loaded. Granted 
that I don't understand Tomcat and JBoss well enough to determine whether it is 
problem with those frameworks.

> ClassNotFoundException on shutdown of client
> --------------------------------------------
>
>                 Key: ZOOKEEPER-1394
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1394
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.4.2
>         Environment: OS X 10.7 java version "1.6.0_29"
>            Reporter: Herman Meerlo
>            Assignee: wu wen
>            Priority: Minor
>         Attachments: ZOOKEEPER-1394.patch
>
>
> When close() is called on the ZooKeeper instance from a ContextListener 
> (contextDestroyed) there is no way to synchronize with the fact that the 
> EventThread and SendThread have actually finished their work. The problem 
> lies in the SendThread which makes a call to ZooTrace when it exits, but that 
> class has not been loaded yet. Because the ContextListener could not 
> synchronize with the death of the threads the classloader has already 
> disappeared, resulting in a ClassNotFoundException.
> My personal opinion is that the close() method should probably wait until the 
> event and send thread have actually died.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to