From: gurkanerdogdu <do-...@jb...> - 2005-11-28 15:50:56
|
Hi; I would like to ask some questions that was arised when I have been implementing the new version of the IDE. The problems are appeared when the user jars come into the Eclipse platform, related with the classloaders. 1- In TreeCache, before I connect to the cache I am setting current thread classloader with newly created classloader that is related with user jars. then in the next operations there is no problems, everything is fine. But I did not grasp the why there is no problem? As far as I understand from the code if fetchstateonstartup() is true, then you will call state generator for the coordinator and integrate it to the cache via the state integrator. When the new cache node added to the cache, you will call remoteMethod with parameter MethodCall actually implemented in JGroup code stack. Then serilization and deserilization occurs with readObject and writeObject. 2- In TreeCacheAOP, when calling the getObject() with fqn, then I am getting exception with ClassNotFound exception where the exception occurs is in TreeCacheAOPDelegate getObject_(String fqn) with the code if (Advised.class.isAssignableFrom(clazz)) { try { obj = clazz.newInstance(); // TODO Need to populate the object from the cache as well. } catch(Exception e) { throw new CacheException("failed creating instance of " + clazz.getName(), e); } Exception class is : org.jboss.aop.AOPManager blabla... not found, becuase clazz object is loaded my custom classloader when I explained in the 1. subject. Then I will try to solve this problem with setting the context classloader of the calling thread with my classloader as I did in 1. but problem not solved. 3- In TreeCacheAOP, if node data is referenced from another node, I can not get the childrens from the referencing node with getChildrens() For example; put("/a/b",Mary); and Mary has course so tree is /a/b and /a/b/course put("/c",Mary) --> this is reference so when getChildren on /c then I am getting nothing. How can I show the /course node under the /c. I want to try to get contents of the /c with getObject() but then 2. problem appears. 4- I tried to use UserMarshalling option true. I registered my custom class loader with region / and inactiveonstartup false. But then I got java.io.EOF exception from the JGroups. 4- As a last chance :) I will try to some work that I dropped all cache related jars and user jars from the Eclipse classloader to my custom classloader and use reflection on every cache operations. 5- In the meanwhile as a remainder, - I simplified wizards - I put edit and delete configuration - I put new view to show the object fields and values. - I put object graph shown with tree but this just shows the node name and class within in. For example if a node with fqn /a/b and class Student in it and Student has a course then I am showing like /a/b --> Student /a/b/course --> Course class How can I show the references? Thanks Gurkan View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3909354#3909354 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3909354 |