In general, if you are extending BaseOutputConnector, you should either not implement a method at all (and thus allow the base class method to be used), or you should always make sure to call the superclass method from your extending class. That's a pretty standard way to do things throughout Java.
Karl On Thu, May 26, 2011 at 11:01 AM, Farzad Valad <[email protected]> wrote: > Thanks for looking at the code and that fixed it. The connect method has > been empty since day one, very strange that now it started to give me > problems. I went as far back as 3 months of history. > > So do I need to call the super method for disconnect, install, deinstall? > Any others? I noticed adding it to disconnect I had to modify the method > signature to throw the ManifoldCFException. > > On 5/26/2011 9:19 AM, Karl Wright wrote: >> >> Here's your problem: >> >> public void connect(ConfigParams configParams) { >> if (Logging.connectors.isEnabledFor(Level.DEBUG)) { >> Logging.connectors.debug("Connection instance >> requested"); >> } >> } >> >> You need to have a super.connect(configParams) in there somewhere. >> >> Karl >> >> On Thu, May 26, 2011 at 10:06 AM, Farzad Valad<[email protected]> wrote: >>> >>> Well I have extended BaseOutputConnector and not overriding >>> getConfiguration(). I don't know why this would be a problem now, but >>> should I be overriding a method or supplying parms I'm not? >>> >>> On 5/26/2011 7:52 AM, Karl Wright wrote: >>>> >>>> Is it possible for your connector to return a null value from a >>>> getConfiguration() method call? This would be unlikely if it extended >>>> BaseOutputConnector, but maybe it does not. >>>> >>>> Karl >>>> >>>> On Thu, May 26, 2011 at 8:43 AM,<[email protected]> wrote: >>>>> >>>>> So I put log statements in all my methods, the last one called is >>>>> setThreadContext. Also I'm not sharing objects in threads, removed the >>>>> id >>>>> code all together. May something is corrupt in the db tables? I'm >>>>> just >>>>> trying edit an existing job. I could try zapping the db table and >>>>> starting >>>>> over. >>>>> >>>>> public void setThreadContext(IThreadContext threadContext) { >>>>> if (Logging.connectors.isEnabledFor(Level.DEBUG)) { >>>>> Logging.connectors.debug("Connection handle >>>>> requested"); >>>>> } >>>>> try { >>>>> super.setThreadContext(threadContext); >>>>> } catch (ManifoldCFException e) { >>>>> e.printStackTrace(); >>>>> } >>>>> } >>>>> >>>>> >>>>> On Wed, 25 May 2011 18:14:29 -0400, Karl Wright<[email protected]> >>>>> wrote: >>>>>> >>>>>> My guess would be inadvertant cross-thread object sharing again. >>>>>> Nothing significant has changed in ManifoldCF in this area in a long >>>>>> while. >>>>>> >>>>>> Karl >>>>>> >>>>>> On Wed, May 25, 2011 at 6:10 PM,<[email protected]> wrote: >>>>>>> >>>>>>> I'm getting some very strange errors internal errors. I'd like to >>>>>>> say >>>>>>> I >>>>>>> haven't done something, but something must of changed since the last >>>>>>> time. >>>>>>> Any ideas where I should be looking? Thanks! >>>>>>> >>>>>>> SEVERE: Servlet.service() for servlet [jsp] in context with path >>>>>>> [/mcf-crawler-ui] threw exception [java.lang.NullPointerException] >>>>>>> with >>>>>>> root >>>>>>> cause >>>>>>> java.lang.NullPointerException >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory$PoolKey.hashCode(OutputConnectorFactory.java:491) >>>>>>> at java.util.HashMap.get(Unknown Source) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory.release(OutputConnectorFactory.java:395) >>>>>>> at >>>>>>> org.apache.jsp.editjob_jsp._jspService(editjob_jsp.java:606) >>>>>>> at >>>>>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) >>>>>>> at >>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:722) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) >>>>>>> at >>>>>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) >>>>>>> at >>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:722) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) >>>>>>> at >>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown >>>>>>> Source) >>>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown >>>>>>> Source) >>>>>>> at java.lang.Thread.run(Unknown Source) >>>>>>> >>>>>>> >>> > >
