Class loading from JavaTasks, ScheduleTask, ThirdParty, etc...
Does anyone know why it is that if I copy a JAR into JavaTasks, ScheduleTask, ThirdPary, or ext on my development cluster, it is automatically loaded by OIM, but if I try the same in my QA cluster, I must explicitly add the JAR to my classpath?
Thanks!
Anything to do with class reloading configuration in the xlconfig.xml file ??
Regards
Namboodiri
Similar Messages
-
Dynamic class loading from JARs in web application
Hello,
I'm working on a web project in which we would like to dynamically load plugins without server restart.
We have developed our own ClassLoader in order to load the plugins from a path or with a user interface upload function.
The class loader hierarchy should be something like this:
Bootstrap
|
System
|
Common
Catalina Shared
Webapp1 OurSystem
PluginClassLoaderThe all works fine within the classes loaded in the PluginClassLoader, but classes loaded in OurSystems class loader cannot access classes loaded in PluginClassLoader. For example when Hibernate tries to load classes definied in mapping files we got a java.lang.ClassNotFoundException.
Is there a way to load classes dynamically to OurSystems class loader or notify it about PluginClassLoaders classes?
Or is this a bad way to do it?
Best regards,
Kristoffer RenholmHi,
Sounds like a classpath problem that the folks in the workshop newsgroup
could help with. Try asking your question in:
http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=xover&group=weblogic.developer.interest.workshop&utag=
Bruce
Graeme Dougal wrote:
>
Hi, I am developing a web service with weblogic workshop. The JWS file references
other classes one of which is a factory for distributing various implementations
of an interface. I am trying to dynamically load the relevant class to be distributed
from the factory via its name, e.g. Class c = Class.forName(className)
However I keep getting a classNotFoundException.
Any ideas ?? -
Dynamic class loading from directory on server
Hello,
I am not sure if this is right forum, but I think it is more weblogic then ADF issue...
I am trying to create and load dynamically classes in weblogic (10.3.2.0). It is ADF application which I deploy to the weblogic server.
When I print ((GenericClassLoader)this.getClass().getClassLoader()).getFinderClassPath()I see the path to my directory (of course not just this path) C:\...\system11.1.1.2.36.55.36\DefaultDomain\servers\DefaultServer\tmp\_WL_user\test\753the\dynamicClasses(I have added directory dynamicClasses to manifest for deployment WAR profile).
In this directory I create class files. I have checked it, files are really created there.
When I try to load created class with the same classloader, for which I have printed classpath, ClassNotFoundException is thrown.
Please where could be the problem? Isn't it possible to load classes from directory instead of jar, do I need some special server configuration,...?
Thank you in advance
QjetaHi Qjeta,
I am not sure but you can give it a try using URLClassLoader...Which we generally use for DynamicClassLoading:
import java.net.URLClassLoader;
<font color=maroon>
String path="C:/.../system11.1.1.2.36.55.36/DefaultDomain/servers/DefaultServer/tmp/_WL_user/test/753the/dynamicClasses";
*URLClassLoader loader = new URLClassLoader(new URL[] { new URL(path) });*
Class c = loader.loadClass ("your.class.NameHere");
</font>
// Load class from class loader. filly qualified class name (means classname with package name) is the name of the class to be loaded
in the above code the "C:/.../system11.1.1.2.36.55.36/DefaultDomain/servers/DefaultServer/tmp/_WL_user/test/753the/dynamicClasses" should be the location of the directory where your classes are placed....If you want to load a perticular Jar then you need to write the jarfile name as well like following:
C:/.../system11.1.1.2.36.55.36/DefaultDomain/servers/DefaultServer/tmp/_WL_user/test/753the/dynamicClasses/Myapplication.jar
.================================
If the above code works for you then later you can even try to enhance your code by doing the following:
Thread.currentThread().setContextClassLoader(urlClassLoaderRef);
Thanks
Jay SenSharma
http://jaysensharma.wordpress.com (WebLogic Wonders Are Here) -
Dynamic class loading from String name
Hello all,
I have a question for dynamic class loading:
If I have a String variable that represents a class name, how can i use it to make dynamically an object of the class tha the string variable represents?
For example i have a string like this
String classname="String";
Using this i want to make a new String object .
Can anyone tell me how can i do this(example plz)?I have worked out the code and this works fine:
import java.lang.*;
class dynamictestname{
public dynamictestname() {
public static Class test(String objname){
try{
Class theClass = Class.forName(objname);
return theClass;
} catch (ClassNotFoundException e)
throw new NoClassDefFoundError (e.getMessage());
public static void main (String [] args){
String classname="java.lang.String";
Class thisClass=dynamictestname.test(classname);
try{
Object instance = thisClass.newInstance();
}catch(InstantiationException e){
}catch(IllegalAccessException ie){
}The new problem i 've faced is that i can't instatiate a new object by the class i have created.I saw some examples with use of the java.lang.reflect but this class i used with user created classes which have methods that the user wants to run dynamically.
I just want to make an object from the class and give it a value.
For example if the object i have created with the
Object instance = thisClass.newInstance();is an object of java.lang.String class
how can i do something like this below dynamically from instance object :
String x="TEST ";
Thanks for the help.. -
Where are classes loaded from ?
How can I find out programmatically the url where a class is loaded from ?
Something like the info given by "java -verbose:class MyApp".
I don't see any method doing this in the class Classloader...
Any idea ?Haven't tried it, but what about trying URL wheresMyClass = ClassLoader.getSystemResource("myPackage.myClass") ?
-
Class loaded from system classpath
When I kick off my WebLogic Server 8.1 SP2 startWebLogic.sh I get the following:
<Warning> <EJB-010001> <While deploying EJB 'blah, blah, blah', class yadda.yadda.yadda was loaded from the system classpath. As a result, this class cannot be reloaded while the server is running. To prevent this behavior in the future, make sure the class is not located in the server classpath.>
How do I do this? I need to be able to make changes to code, compile it and "drop" it into my application directory without having to stop and restart my server.
I would appreciate any assistance.
Thank you.
SteveHi Steve,
When you start weblogic server it has the EJB home, remote or bean class in its classpath. So when you deploy the bean it loads the classes from the system classpath.
To avoid this error, make sure that your server classpath does not contain any of the bean classes.
vasanthi ramesh -
Why are these classes equal? Loaded from different classloaders.
I thought that classes loaded from different classloaders were seen as different in the JVM? But this code prints true to every check:
try
Class c = new URLClassLoader( new URL[] { new URL( "jar:file://home/tests/test.jar!/" ) } ).loadClass( "Test" );
Class c2 = new URLClassLoader( new URL[] { new URL( "jar:file://home/tests/test.jar!/" ) } ).loadClass( "Test" );
System.out.println( ( c == c2 ) );
System.out.println( ( c.equals( c2 ) ) );
System.out.println( ( c.getName().equals( c2.getName() ) ) );
catch (Exception e)
e.printStackTrace();
}DrClap wrote:
The more unbelievable thing is that this:
System.out.println( ( c == c2 ) );prints "true". That shouldn't happen, and it's nothing to do with facts about classloaders. It shouldn't happen because "new" called twice should produce two different objects, no matter what kind of objects they are.
I didn't try your code because I would have had to spend a couple of minutes creating suitable jar files. But did you actually run that code? Or is it a reduction of some larger piece of code and you just assumed it would do what you said it does? Because I don't believe that.I actually ran the code and every line DID print out true. This is in Java 1.5.
I figured out why they're all true though - it's because the jar file was in the classpath, so the classes were loaded by a different classloader (the same one). When I put the jar out of the classpath, the statments printed out like this:
//false
System.out.println( ( c == c2 ) );
//false
System.out.println( ( c.equals( c2 ) ) );
//true
System.out.println( ( c.getName().equals( c2.getName() ) ) );I agree on the first one printing true but I seem to remember something about how they changed that rule in Java 1.5. I could be wrong but in c++, that would be a completely valid true statement (assuming your class implemented the "==" operator), so maybe they changed it to be in line with that? -
Application Class Loader problem calling virtual function
Hello everyone
I have run in to very strange behavior of JVM
I have created a class loader which allows my to load classes from
jar file, regardless that URLClassLoader supplies this functionality.
I am using this class loader to load some classes and call their virtual functions. The class diagram looks like that:
public interface I {
public void init();
public class AAA implements
public void init(){
public class BBB extends AAA{
public void init(){
//here comes implementation
}Interface I and class AAA are loaded with System Class loader and Class BBB is loaded using my class loader from jar file.
ByteStreamClassLoader classLoader = new ByteStreamClassLoader ();
Class cl = classLoader. loadClass(�com.product.BBB�,true);
I myInterface = cl.newInstance();
myInterface.init();The problem is that from some unknown reason java class AAA.init() instead of BBB.init().
Can somebody help me what am I doing wrong?
Class Loader code attached below
public class ByteStreamClassLoader extends ClassLoader {
protected HashMap m_cache = new HashMap();
public void clearCashe() {
m_cache = new HashMap();
private String definePackage(String className) {
StringBuilder strB = new StringBuilder();
//Class name must be removed from the URI in order to define a package
String[] packageArray = className.split("\\.");
for (int i = 0; i < packageArray.length - 1; i++) {
strB.append(packageArray).append(".");
String packageName = strB.toString();
packageName = packageName.substring(0, packageName.length() - 1);
if (getPackage(packageName) == null) {
m_logger.log(Level.FINEST, "Defining package '" + packageName + "'");
definePackage(packageName, null, null, null, null, null, null, null);
return packageName;
public synchronized Class loadClass(String name, boolean resolve) throws
ClassNotFoundException {
name = name.replaceAll("/", ".").replaceAll(".class", "");
//Try to locate the Class in cashe
Class c = (Class) m_cache.get(name);
//Try to locate the Class in the System Class Loader
if (c == null) {
try {
c = ClassLoader.getSystemClassLoader().loadClass(name);
catch (Exception ex) {}
else {
m_logger.log(Level.FINEST, "Class '" + name + "' found in cache");
//Load the class from byte array
if (c == null) {
String resourceName = name;
if (!resourceName.endsWith(".class")) {
resourceName = resourceName.concat(".class");
//Retrieve class byte representation
if (resourceName.indexOf(".") != -1) {
resourceName =
resourceName.replaceAll("\\.", "/").replaceAll("/class", ".class");
//Use the ByteStreamClassLoader to load the class from byte array
byte[] classByteArray = null;
try {
classByteArray = getResourceBytes(resourceName);
catch (IOException ex1) {
throw new ClassNotFoundException(
"Could not load class data." + ex1.getMessage());
m_logger.log(
Level.FINEST, "Loading class '" +
name + "' Byte Length: " + classByteArray.length);
String p = definePackage(name);
c = defineClass(
name,
classByteArray,
0,
classByteArray.length,
ByteStreamClassLoader.class.getProtectionDomain());
m_cache.put(name, c);
if (resolve) {
resolveClass(c);
return c;Hello everyone
I have run in to very strange behavior of JVM
I have created a class loader which allows my to load classes from
jar file, regardless that URLClassLoader supplies this functionality.
I am using this class loader to load some classes and call their virtual functions. The class diagram looks like that:
public interface I {
public void init();
public class AAA implements
public void init(){
public class BBB extends AAA{
public void init(){
//here comes implementation
}Interface I and class AAA are loaded with System Class loader and Class BBB is loaded using my class loader from jar file.
ByteStreamClassLoader classLoader = new ByteStreamClassLoader ();
Class cl = classLoader. loadClass(�com.product.BBB�,true);
I myInterface = cl.newInstance();
myInterface.init();The problem is that from some unknown reason java class AAA.init() instead of BBB.init().
Can somebody help me what am I doing wrong?
Class Loader code attached below
public class ByteStreamClassLoader extends ClassLoader {
protected HashMap m_cache = new HashMap();
public void clearCashe() {
m_cache = new HashMap();
private String definePackage(String className) {
StringBuilder strB = new StringBuilder();
//Class name must be removed from the URI in order to define a package
String[] packageArray = className.split("\\.");
for (int i = 0; i < packageArray.length - 1; i++) {
strB.append(packageArray).append(".");
String packageName = strB.toString();
packageName = packageName.substring(0, packageName.length() - 1);
if (getPackage(packageName) == null) {
m_logger.log(Level.FINEST, "Defining package '" + packageName + "'");
definePackage(packageName, null, null, null, null, null, null, null);
return packageName;
public synchronized Class loadClass(String name, boolean resolve) throws
ClassNotFoundException {
name = name.replaceAll("/", ".").replaceAll(".class", "");
//Try to locate the Class in cashe
Class c = (Class) m_cache.get(name);
//Try to locate the Class in the System Class Loader
if (c == null) {
try {
c = ClassLoader.getSystemClassLoader().loadClass(name);
catch (Exception ex) {}
else {
m_logger.log(Level.FINEST, "Class '" + name + "' found in cache");
//Load the class from byte array
if (c == null) {
String resourceName = name;
if (!resourceName.endsWith(".class")) {
resourceName = resourceName.concat(".class");
//Retrieve class byte representation
if (resourceName.indexOf(".") != -1) {
resourceName =
resourceName.replaceAll("\\.", "/").replaceAll("/class", ".class");
//Use the ByteStreamClassLoader to load the class from byte array
byte[] classByteArray = null;
try {
classByteArray = getResourceBytes(resourceName);
catch (IOException ex1) {
throw new ClassNotFoundException(
"Could not load class data." + ex1.getMessage());
m_logger.log(
Level.FINEST, "Loading class '" +
name + "' Byte Length: " + classByteArray.length);
String p = definePackage(name);
c = defineClass(
name,
classByteArray,
0,
classByteArray.length,
ByteStreamClassLoader.class.getProtectionDomain());
m_cache.put(name, c);
if (resolve) {
resolveClass(c);
return c; -
Class Loader Hierarchy in Weblogic 7.0
I have read the BEA documentation on the class loader hierarchy in Weblogic Server,
and I have some questions regarding some behavior I am seeing.
I am running Weblogic Server 7.0.
I have an ear file that contains 3 web apps (wars) and several utility jars. The
web apps' manifests contain the Class-Path entry for the utility jars. My understanding
of this is that each web app SHOULD have its own class loader. Also, the utility
jars will be scoped in a separate class loader and WILL NOT have visibility to
the web app classes. The web app classes should have visibility to the utility
jars.
Is this correct????
I added a static segment of code in each web app and printed the class loader
for each servlet when it was loaded. I also printed the class loader from a class
that is DEFINITELY contained in one of the utility jars. Here is the result:
Utility Class ClassLoader: sun.misc.Launcher$AppClassLoader@b9d04 Utility Class
Parent ClassLoader: sun.misc.Launcher$ExtClassLoader@71732b
Servlet 1 ClassLoader: sun.misc.Launcher$AppClassLoader@b9d04 Servlet 1 Parent
ClassLoader: sun.misc.Launcher$ExtClassLoader@71732b
Servlet 2 ClassLoader: sun.misc.Launcher$AppClassLoader@b9d04 Servlet 2 Parent
ClassLoader: sun.misc.Launcher$ExtClassLoader@71732b
I'm a little confused.... I expected to see 3 different class loaders (i.e. one
for each class above). I believe the above printout says that all 3 classes are
being loaded by the SAME class loader instance (Launcher$AppClassLoader@b9d04).
Am I interpreting this correctly? If so, what's going on?I rechecked the classpath for the user that starts Weblogic, and in the classpath
I found the project "src" directory (must have missed it earlier). When we did
our build, the classes are placed in the src structure then copied to the build
area. That's the reason I was not seeing the appropriate class loader hierarchy.
Thanks for all of the comments.
"Sanjeev Chopra" <[email protected]> wrote:
>
"Mark Cotherman" <[email protected]> wrote in message
news:[email protected]...
Thanks for your comments again Mark. I'm just trying to get a goodhandle
on how
this is working.
I'll assume that somehow my web app classes are being loaded into theroot
classloader.
The next question is... why??Just to be sure - is there any way these classes are sneaking into the
system classpath ?
My ear file contains the following:
a.war
b.war
c.war
lib/util1.jar
lib/util2.jar
lib/util3.jar
lib/util4.jar
The manifest in all three wars reference all util jars. This ear deployssuccessfully
on Weblogic with no errors.
How could these separate servlets (one in each war) not have seperateclass loaders
seperate from the root where the utils should reside. I don't thinkthat
I have
any control over where Weblogic loads the war classes, or do I?
See comments below....
Mark Spotswood <[email protected]> wrote:
Mark Cotherman wrote:
Thanks for the follow-up.
I want to make sure I follow what you are saying. All classes in
the
manifest
Class-Path of WARs are exported to the parent classloader.That's right.
To me this is the correct behavior since the manifest Class-Path
is
meant to provide
a way to share common utility classes among several web apps. AllEJB jars and
manifest Class-Path entries should be loaded by the same class loader.Its a way to share class definitions, but not necessarilly class
instances. I don't think that a web application should be extending
the classpath of its parent's classloader. This leads to namespace
problems as well as reloadability issues.
Ok, you lost me here. Shouldn't delegation handle the namespacecollisions??
If the web app class loader has a class definition (webapp:com.xyz.ClassA) with
exactly the same name in the same package as the root class loader(rootloader:
com.xyz.ClassA), I thought the web app would use (delegate loading)the
class
definition from the root class loader when PreferWebInf is set to false.
Isn't this why the PreferWebInf attribute, when set to true, can causeClassCastExceptions??
The web app when creating an instance of (webapp: com.xyz.ClassA)from
the web
app class loader can potentially pass a reference to this instanceto a
class
instance loaded from the root loader. The root class loader has adifferent class
definition for ClassA.
REALLY what makes since is that all common jar files be defined
in
the manifest
Class-Path OF THE ear FILE (if the WAR(s) are in an ear). These
jar
files should
then be loaded by the same class loader as the EJB jars. There shouldbe no need
for the WARs to have any reference to the utility jars since the
EJB
class loader
is the parent of the WAR class loaders.The ear file doesn't have a manifest classpath, but what you are getting
at makes sense. If you add a manifest to any EJBs in your app, theall
webapps (as well as all other EJBs) will be able to see it, sincewith
our structure, EJBs are loaded into the application's root classloader.
My problem is that the ACTUAL SERVLET classes are NOT being loadedby a separate
class loader from the EJB and common jar class loader. This is
completely
against
what is being said in the Weblogic documentation. The Manifest
Class-Path
should
have nothing to do with where the classes that reside in
WEB-INF/classes
of my
servlet are loaded.Classloaders will ask their parent for the class first before loading
it
themselves. So if the parent classloader somehow has visibility to
classes that your webpapp references, then it will get loaded by the
parent classloader.
I am in the middle of migrating an app from an older version of
Weblogic,
and
it would be helpful to have the ACTUAL class loading hierarchy welldocumented.
The basic hierarchy is all EJBs are in a root shared classloader and
each web application is loaded by a classloader that is a child of
that root.
Again, am I missing something here???My suspicion is that somehow these servlets are in the classpath ofthe
root classloader, so when the webapp classloaders delegate to thatone,
it will come up with the class.
mark
Mark Spotswood <[email protected]> wrote:
I believe what you are seeing is a bug in the servlet container.
The classloader organization is what you expect, but each webapp
is exporting the classpath information from its manifest to the
classloader above its classloader (which is common to all
three webapps) rather than to its own classloader. So because
of the delegation that happens with classloading, the common
parent classloader is the one that loads the class.
I believe that this behavior exists as an attempt to avoid
ClassCastExceptions, but I don't think that it is the right
solution to this problem. In our 8.1 release, this behavior
has been changed. That is, web applications no longer export
manifest classpath information to the parent of their classloader.
This change has not been ported back to the 7.x line, but a bug
report has been created (CR099889). You should be able to follow
up with support with this CR number.
mark
Mark Cotherman wrote:
I have read the BEA documentation on the class loader hierarchy
in
Weblogic Server,
and I have some questions regarding some behavior I am seeing.
I am running Weblogic Server 7.0.
I have an ear file that contains 3 web apps (wars) and several
utility
jars. The
web apps' manifests contain the Class-Path entry for the utility
jars.
My understanding
of this is that each web app SHOULD have its own class loader.
Also,
the utility
jars will be scoped in a separate class loader and WILL NOT have
visibility
to
the web app classes. The web app classes should have visibility
to
the utility
jars.
Is this correct????
I added a static segment of code in each web app and printed the
class
loader
for each servlet when it was loaded. I also printed the class loaderfrom a class
that is DEFINITELY contained in one of the utility jars. Here is
the
result:
Utility Class ClassLoader: sun.misc.Launcher$AppClassLoader@b9d04
Utility
Class
Parent ClassLoader: sun.misc.Launcher$ExtClassLoader@71732b
Servlet 1 ClassLoader: sun.misc.Launcher$AppClassLoader@b9d04 Servlet1 Parent
ClassLoader: sun.misc.Launcher$ExtClassLoader@71732b
Servlet 2 ClassLoader: sun.misc.Launcher$AppClassLoader@b9d04 Servlet2 Parent
ClassLoader: sun.misc.Launcher$ExtClassLoader@71732b
I'm a little confused.... I expected to see 3 different class loaders(i.e. one
for each class above). I believe the above printout says that all
3
classes are
being loaded by the SAME class loader instance
(Launcher$AppClassLoader@b9d04).
Am I interpreting this correctly? If so, what's going on? -
Custom applet class loader, how?
Fellow Java programmers;
I would like to load 'secure' class files (ie encrypted) into an applet at startup time.
I have code that does this for a normal java program.
How do you go about using a custom class loader in an applet?
Would something like this work? (using say *.Xclass local encrypted class files)
..somewhere in theapplet: init().. runClass()
.public void runClass(name)
{ aCL = new AppletClassLoader(); // extends ClassLoader
Class c = aCL.loadClass(name);
Method m= c.getMethod("main"..)
m.invoke(...);
Your comments or pehaps a code snippet would be appreciated.
Thanks, JohnJohn,
this does not work without modifying the runtime client environment.
Security constraints will prevent you from setting up a new class loader, so you will have to at least grant this permission in a policy file deployed to your clients as you will have to deplay the encryption keys.
As bringing in a new class loader from an applet is highly security critical, this should be backed by a rather strict policy and by signing the applet.
Though the example you provided might work, the class loader implementation itself is not so easy-
If you would like to imitate the findClass() and loadClass() methods from SUN you will see that those are complex and not suitable for "hooking" in an encrypted stream.
You might try an easier way:
Load the class data as an encrypted byte array, decrypt it and use SUNs class loader methods to define a JAVA class out of this byte array:
ClassLoader.defineClass(String�name, byte[]�b, int off, int�len)
This seems to be easier than implmenting your own loader.
Oliver -
Ever since I upgraded to iTunes 10.4 I've been getting this dreaded message on many occasions when I try to sync my iPhone 4 or iPad 2 with my Win 7 64 bit machine. "iTunes was unable to load data class information from Sync Services. Reconnect or try again later." What happens is that local content (music, videos etc) will sync properly to my iPhone, but other content (such as Outlook information, MobileMe stuff, etc) will not.
I have uninstalled and completely purged all Apple data from my PC (including hidden files and folders under Common Files and in the Registry) and reinstalled iTunes. Yet after one or two syncs, the same problem resurfaces. The other weird part is that the Sync Services crap-out message will happen after I do a successful sync, leave the iPhone connected to the PC, and don't even touch the computer for several hours.
I've actually developed a very tedious work around that seems to restore syncing if for a short time.
- Undock/unconnect all Apple devices from the PC.
- Close iTunes, MobileMe control panel, and Safari (if you have it).
- Start Task Manager (Ctrl + Alt + Del) and shut down iTunesHelper.exe and SyncServer.exe
- Open up a Windows Explorer window (like My Computer) and under Tools, Folder Options, View, toggle on Show Hidden Files and toggle off Hide Protected Operating System FIles
- In WIndows Explorer, navigate to "C:\Users\<your name>\App Data\Roaming\Apple Computer". Rename the folder Sync Services to something else, like Sync Services_Old.
- In WIndows Explorere, navigate to "C:\Program Files (x86)\Common Files\Apple\Mobile Device Support" and double-click on AppleSyncNotifier.exe.
- Go back to your Folder Options and turn off SHow Hidden Files and toggle on Hide Protected Operationg System Files
Now you can start up iTunes again and connect your device. It should sync properly again (at least, until it doesn't once more).
Does anyone at Apple have any idea about this error or a solution?I actually spent a fair amount of time on the phone with a senior Apple tech last week. He directed me to this topic:
http://support.apple.com/kb/HT1923?viewlocale=en_US
It's important that you go through the steps EXACTLY as described here and in the proper order. Also make sure MobileMe control panel is uninstalled (if you have it).
Interestingly, when I went through this procedure and then reinstalled iTunes 10.4 64-bit (didn't do MobileMe or Safari at this stage, but QT is automatically installed) everything worked perfectly. The aforementioned error messages disappeared and all is working flawlessly, as it should.
I hope my expereince will help! Give it a try. -
How to recover from an exception on a class loaded with a classloader?
I have created a classloader for the purpose of dynamically loading "modules" . The whole application is multithreaded and the separate modules may also run as separate threads. The problem that I am facing is that if one of the modules crashes (does not handle an exception), then the class loader object which loaded the required classes and started the module's thread, cannot be accessed. The thread which attempts to access this class loader freezes. Is there any way to recover from this situation?
Thanks in advanceOk, let me provide a bit more information. Each "module" is handled by specific class (let's call it ModuleDescriptor), which subclasses the URLClassLoader class. The ModuleDescriptor class is responsible for describing each module, maintain module state information (loaded, unloaded, started, stopped, etc) and also executing some method calls on a specific object of the module, which in essence acts as a means to start or stop the module. Each module is a separate thread and is packaged in a JAR file, which is first downloaded locally. If one of these module threads crashes, then I cannot even call a method of the ModuleDescriptor to perform the necessary unloading bit. Basically, when I can the method that thread of execution halts without an exception or an error or anything. The rest of the application continues working properly (other threads). I find this situation bizarre, because the ModuleDescriptor object and the actual module with the thread that crashed execute on separate threads. If there is any more specific information that I have to provide, please let me know.
-
Error on Desktop: iTunes unable to load data class information from sync services.
Error on Desktop; iTunes unable to load data class information from sync services.
Hi there Randall112,
You may find the troubleshooting steps in the article below helpful.
iTunes for Windows: "Unable to load data class" or "Unable to load provider data" sync services alert
http://support.apple.com/kb/ts2690
-Griff W. -
iTunes was unable to load data class information from Sync Services. Reconnect or try again later. This is the message when I try to connect my iphone 4 to my computer. If anyone could help me with this, I would appreciate it.
iOS: Device not recognized in iTunes for Windows
http://support.apple.com/kb/TS1538
iOS: Device not recognized in iTunes for Mac OS X
http://support.apple.com/kb/ts1591 -
I keep getting this error message: ITunes was unable to load data class information from Synch Services. Reconnect or try again later. What does that mean? Can I fix it? or do I have to wait for the next update?
See TS2690: iTunes for Windows: "Unable to load data class" or "Unable to load provider data" sync services alert.
tt2
Maybe you are looking for
-
Can't view IPad photo's in windows explorer window
I can sync my iPad to my window 7 computer using iTunes software, however in My Computer; I can not see my iPad, nor am I able to drill down to my photo folder on the iPad to import only selected photo's to my computers hard drive. Is this a rights i
-
Retrieving subjects and information
Hi All, Is it possible for me to only retrieve the subjects, and information (size, type etc) for an email without actually retrieving the mail from the server? I'd like to be able to see what the email is before using the bandwidth of actually havin
-
Hi all, did anyone use the Role Reaffirm functionality within GRC10? The functionality seems to be available, but we cannot get any roles listed to be reaffirmed. We have defined approvers for roles in GRC, have users assigned, ran the RR Reminder ba
-
Display form function not working at HRADMIN level.
Hi , I have got a problem with an Adobe interactive form at HRADMIN level. i could run the perform personnel Actions(connecting to R/3), Email functions from the Action Box at HRADMIN . when i try for the Display form , the page is refreshing it
-
Automator New Message/Send Mail Question
When I add these to my workflow, Mail.App opens and I can see the mail on screen. Is it possible to run this workflow and hide the window. My goal is to send the email in the background. Thanks, E