• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: javax.servlet.UnavailableException: Error initializing servlet adaptor: null
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: javax.servlet.UnavailableException: Error initializing servlet adaptor: null


  • Subject: Re: javax.servlet.UnavailableException: Error initializing servlet adaptor: null
  • From: Filippo Laurìa <email@hidden>
  • Date: Tue, 04 Jun 2013 09:17:32 +0200

Thanks for your answer.
I alredy knew this last link, but it is "high-level support".. After
few trials, I think I have a classpath problem but I can't understand
very well where the problem is.

If someone is instrested here it is complete exception stack trace:

-- --
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.webobjects.jspservlet.WOServletAdaptor._applicationInit(WOServletAdaptor.java:421)
    at com.webobjects.jspservlet.WOServletAdaptor.initStatics(WOServletAdaptor.java:95)
    at com.webobjects.jspservlet.WOServletAdaptor.init(WOServletAdaptor.java:652)
    at net.sf.webcat.WCServletAdaptor.init(WCServletAdaptor.java:122)
    at javax.servlet.GenericServlet.init(GenericServlet.java:160)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1189)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1103)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1010)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4935)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5262)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5257)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)
Caused by: com.webobjects.foundation.NSForwardException
[java.lang.ClassNotFoundException]
com.webobjects.appserver.WOSessionStore:<net.sf.webcat.core.Application>
failed instantiation. Exception thrown :
java.lang.NoClassDefFoundError:
com/webobjects/appserver/WOSessionStore:
com/webobjects/appserver/WOSessionStore
    at com.webobjects.foundation._NSUtilities._explainInstantiationException(_NSUtilities.java:632)
    at com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:646)
    at com.webobjects.appserver.WOApplication.primeApplication(WOApplication.java:634)
    ... 20 more
Caused by: java.lang.ClassNotFoundException:
com.webobjects.appserver.WOSessionStore
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1148)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1643)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:188)
    at com.webobjects.foundation._NSUtilities._classWithPartialName(_NSUtilities.java:348)
    at com.webobjects.foundation._NSUtilities.classWithName(_NSUtilities.java:335)
    at com.webobjects.appserver.WOApplication._instanceOfNamedClassAssignableFrom(WOApplication.java:5831)
    at com.webobjects.appserver.WOApplication.setSessionStoreClassName(WOApplication.java:5021)
    at com.webobjects.appserver.WOApplication.<init>(WOApplication.java:857)
    at er.extensions.appserver.ajax.ERXAjaxApplication.<init>(ERXAjaxApplication.java:30)
    at er.extensions.appserver.ERXApplication.<init>(ERXApplication.java:816)
    at org.webcat.core.Application.<init>(Application.java:124)
    at net.sf.webcat.core.Application.<init>(Application.java:33)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at java.lang.Class.newInstance0(Class.java:374)
    at java.lang.Class.newInstance(Class.java:327)
    at com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:642)
    ... 21 more
-- --
Is that the class com.webobjects.appserver.WOSessionStore cannot be
found, or I am wrong?


2013/5/31 Theodore Petrosky <email@hidden>:
> according to the developer,
>
> http://web-cat.org/node/2/content/forum
>
> http://people.cs.vt.edu/~edwards/
>
> http://web-cat.org/content/initial-setup-load-issues
>
> i like the last link.
>
> Ted
>
>
>
>
> --- On Fri, 5/31/13, Filippo Laurìa <email@hidden> wrote:
>
>> From: Filippo Laurìa <email@hidden>
>> Subject: javax.servlet.UnavailableException: Error initializing servlet adaptor: null
>> To: "WebObjects-dev apple dot com" <email@hidden>
>> Date: Friday, May 31, 2013, 1:35 PM
>> Hello everyone,
>>
>> --
>> Always on the same WebObjects application (Web-CAT) that, as
>> I already
>> said few mails ago, it's a collection of WebObjects
>> frameworks linked
>> together.
>> --
>>
>> Now that I solved the problem described here [1], I
>> encountered some
>> troubles that I think are more serious than previous.
>>
>> Web-CAT uses a custom ServletAdaptor WCServletAdaptor that
>> extends
>> WOServletAdaptor adding some capabilities (as update
>> checking, etc.).
>>
>> I would underline that this class overrides init() method
>> that is
>> throwing the exception mentioned into this thread' subject.
>>
>> I modified init() method to prevent download of updates from
>> Web-CAT
>> update center.
>>
>> "original" init() method was:
>> --
>> public void init() throws ServletException {
>>         String webInfRoot =
>> super.getServletContext().getRealPath("WEB-INF");
>>         File webInfDir = new
>> File(webInfRoot);
>>         propertiesFile = new
>> File(webInfDir, "update.properties");
>>         updateDir = new File(webInfDir,
>> UPDATE_SUBDIR);
>>         loadProperties();
>>
>> applyNecessaryUpdates(webInfDir);
>>         try {
>>             super.init();
>>         } catch (NoClassDefFoundError e)
>> {
>>             initFailed = e;
>>         } catch
>> (javax.servlet.UnavailableException e) {
>>             initFailed = e;
>>         }
>>     }
>> --
>>
>> I did a simple modification:
>> public void init() throws ServletException {
>>         String webInfRoot =
>> super.getServletContext().getRealPath("WEB-INF");
>>         File webInfDir = new
>> File(webInfRoot);
>>         propertiesFile = new
>> File(webInfDir, "update.properties");
>>         updateDir = new File(webInfDir,
>> UPDATE_SUBDIR);
>>         loadProperties();
>>
>> compute_woClasspatch(webInfDir);
>>
>> //applyNecessaryUpdates(webInfDir);
>>         try {
>>             super.init();
>>         } catch (NoClassDefFoundError e)
>> {
>>             initFailed = e;
>>         } catch
>> (javax.servlet.UnavailableException e) {
>>             initFailed = e;
>>         }
>>     }
>>
>> here they are functions used:
>>
>> --
>> private void loadProperties() {
>>         properties = new Properties();
>>         if (propertiesFile.exists()) {
>>             try {
>>
>> InputStream is = new FileInputStream(propertiesFile);
>>
>> properties.load(is);
>>
>> is.close();
>>             } catch
>> (IOException e) {
>>
>> System.out.println("Error loading properties from "
>>
>>         +
>> propertiesFile.getAbsolutePath() + ":" + e);
>>             }
>>         }
>>     }
>>
>>     private void compute_woClasspatch(File
>> webInfDir) {
>>         File mainBundle = null;
>>         if (webInfDir.isDirectory()) {
>>             File[]
>> bundleSearchDirs = webInfDir.listFiles();
>>
>>             //ottiene il path
>> assoluto della root dei frameworks
>>             for (int i = 0; i
>> < bundleSearchDirs.length; i++) {
>>                 if
>> (bundleSearchDirs[i].isDirectory()
>>
>> && bundleSearchDirs[i].getName().endsWith(".woa"))
>> {
>>
>>     mainBundle = new File(bundleSearchDirs[i],
>> "Contents");
>>
>>
>>     String absolutePath =
>> bundleSearchDirs[i].getAbsolutePath();
>>
>>
>>     frameworkDir = new File(absolutePath +
>> FRAMEWORK_SUBDIR1);
>>
>>
>>     if (!frameworkDir.exists())
>>
>>         frameworkDir = new
>> File(absolutePath +
>> FRAMEWORK_SUBDIR2);
>>
>>     break;
>>                 }
>>             }
>>         }
>>
>>         if (frameworkDir != null
>> && frameworkDir.isDirectory()) {
>>             File[] subdirs =
>> frameworkDir.listFiles();
>>
>> java.util.Arrays.sort(subdirs, new FrameworkComparator());
>>             woClasspath =
>> classPathFrom(subdirs, mainBundle);
>>
>> System.out.println("Dynamically computed classpath:");
>>
>> System.out.print(woClasspath);
>>         }
>>     }
>>
>> private void applyNecessaryUpdates(File webInfDir) {
>>         File mainBundle = null;
>>         if (webInfDir.isDirectory()) {
>>             File[]
>> bundleSearchDirs = webInfDir.listFiles();
>>             for (int i = 0; i
>> < bundleSearchDirs.length; i++) {
>>                 if
>> (bundleSearchDirs[i].isDirectory()
>>
>>         &&
>> bundleSearchDirs[i].getName().endsWith(".woa")) {
>>
>>     mainBundle = new File(bundleSearchDirs[i],
>> "Contents");
>>
>>     frameworkDir = new File(
>>
>>
>> bundleSearchDirs[i].getAbsolutePath()
>>
>>
>>     + FRAMEWORK_SUBDIR1);
>>
>>     if (!frameworkDir.exists()) {
>>
>>         frameworkDir = new File(
>>
>>
>> bundleSearchDirs[i].getAbsolutePath()
>>
>>
>>         + FRAMEWORK_SUBDIR2);
>>
>>     }
>>
>>     break;
>>                 }
>>             }
>>             File appDir =
>> webInfDir.getParentFile();
>>
>> downloadNewUpdates(frameworkDir, mainBundle);
>>
>> applyPendingUpdates(frameworkDir, appDir);
>>
>> refreshSubsystemUpdaters(frameworkDir, mainBundle);
>>         }
>>         if (frameworkDir != null
>> && frameworkDir.isDirectory()) {
>>             File[] subdirs =
>> frameworkDir.listFiles();
>>
>> java.util.Arrays.sort(subdirs, new FrameworkComparator());
>>             woClasspath =
>> classPathFrom(subdirs, mainBundle);
>>
>> System.out.println("Dynamically computed classpath:");
>>
>> System.out.print(woClasspath);
>>         }
>>     }
>>
>>
>> So you noticed that exception is thrown while recalling
>> _super.init();_
>> How can it be possible? I mean, the only things done, before
>> calling
>> it, are some string manipulations and other operations on
>> files.
>>
>> Why a javax.servlet.UnvailableException is thrown?
>>
>> Having a look on the internet, some say that, perhaps, this
>> exception
>> comes out when there's some database connection's troubles.
>> Is it
>> possible in this case?
>>
>> Anyway, what can I do to fix this problem?
>>
>>
>> I'm sorry, if I wrote a lot of stuff but I would like to
>> explain very
>> well this problem.
>>
>>
>> Thank you everyone.
>>
>> [1]: http://lists.apple.com/archives/webobjects-dev/2013/May/msg00256.html
>>  _______________________________________________
>> Do not post admin requests to the list. They will be
>> ignored.
>> Webobjects-dev mailing list      (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>>

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


  • Follow-Ups:
    • Re: javax.servlet.UnavailableException: Error initializing servlet adaptor: null
      • From: Chuck Hill <email@hidden>
  • Prev by Date: Re: ERD2W and EOGeneralAdaptorException
  • Next by Date: Re: ERD2W and EOGeneralAdaptorException
  • Previous by thread: Re: ERD2W and EOGeneralAdaptorException
  • Next by thread: Re: javax.servlet.UnavailableException: Error initializing servlet adaptor: null
  • Index(es):
    • Date
    • Thread