Actually, for an output connector you cannot use the "connectors" logger, since that is a pull-agent logger. Instead you need to use the "ingest" logger, which is the agents equivalent.
The book covers this in chapter 8. Karl On Wed, Jun 8, 2011 at 3:47 PM, Farzad Valad <ho...@farzad.net> wrote: > You were absolutely right as always. The line in my code was > "Logging.connectors.log(Level.ALL, "DupFinder Version 1.0.0");" inside the > constructor that was causing this. I added this line after I had registered > my code in the old system and hence never saw this error till setting up a > new system. I guess I can't log inside the constructor? > > On 6/8/2011 2:34 PM, Karl Wright wrote: >> >> Ok, I have checked in a fix for the RuntimeException handling. If you >> try the new code, you should get a full trace for the NPE that is >> causing the problem. >> >> Karl >> >> On Wed, Jun 8, 2011 at 3:20 PM, Karl Wright<daddy...@gmail.com> wrote: >>> >>> The code is: >>> >>> Throwable z = e.getTargetException(); >>> if (z instanceof Error) >>> throw (Error)z; >>> else >>> throw (ManifoldCFException)z; >>> >>> >>> The problem cannot be that z is null, because "z instanceof Error" >>> does not blow up. Indeed: >>> "java.lang.NullPointerException cannot be cast to >>> org.apache.manifoldcf.core.interfaces.ManifoldCFException" is the >>> message. The code is not resilient against RuntimeError exceptions is >>> one problem. >>> >>> The problem with your connector code is therefore a NPE being thrown. >>> I'll check in changes here and it should be possible for you to tell >>> what is happening. >>> >>> Karl >>> >>> >>> On Wed, Jun 8, 2011 at 2:55 PM, Farzad Valad<ho...@farzad.net> wrote: >>>> >>>> Looking at the OutputConnectorFactory code, it seems there are two >>>> problems. >>>> The exception handling has a bug assuming a null value won't be passed. >>>> Line 149 says "throw (ManifoldCFException) z;" where z is null. The >>>> main >>>> problem is why registering my connector is now producing an >>>> InvocationTargetException? and it wasn't a problem before? >>>> >>>> public DupFinderConnector() throws ManifoldCFException { >>>> Logging.connectors.log(Level.ALL, "DupFinder Version 1.0.0"); >>>> >>>> calendar = Calendar.getInstance(); >>>> hashGen = new HashsumGenerator(); >>>> } >>>> >>>> >>>> On 6/8/2011 12:00 PM, Farzad Valad wrote: >>>>> >>>>> Any idea why I would get this failure on registering my connector. >>>>> Hadn't >>>>> seen it before. I was trying to setup a new system and was issuing >>>>> commands >>>>> to setup the database. Note I was able to register Null Output and >>>>> File >>>>> System connectors without error. >>>>> >>>>> D:\Program >>>>> Files\Apache\ManifoldCF\myMCF>processes\script\executecommand.bat >>>>> org.apache.manifoldcf.agents.RegisterOutput >>>>> org.apache.manifoldcf.agents. >>>>> output.dupfinder.DupFinderConnector DupFinder >>>>> Configuration file successfully read >>>>> Exception in thread "main" java.lang.ClassCastException: >>>>> java.lang.NullPointerException cannot be cast to >>>>> org.apache.manifoldcf.core.interfaces.ManifoldCFException >>>>> at >>>>> >>>>> org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory.getConnectorNoCheck(OutputConnectorFactory.java:149) >>>>> at >>>>> >>>>> org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory.install(OutputConnectorFactory.java:50) >>>>> at >>>>> >>>>> org.apache.manifoldcf.agents.outputconnmgr.OutputConnectorManager.registerConnector(OutputConnectorManager.java:180) >>>>> at >>>>> >>>>> org.apache.manifoldcf.agents.RegisterOutput.doExecute(RegisterOutput.java:47) >>>>> at >>>>> >>>>> org.apache.manifoldcf.agents.TransactionalAgentsInitializationCommand.execute(TransactionalAgentsInitializationCommand.java:43) >>>>> at >>>>> >>>>> org.apache.manifoldcf.agents.RegisterOutput.main(RegisterOutput.java:70) >>>>> >>>>> D:\Program >>>>> Files\Apache\ManifoldCF\myMCF>processes\script\executecommand.bat >>>>> org.apache.manifoldcf.agents.RegisterOutput >>>>> org.apache.manifoldcf.agents.output.nullconnector.NullConnector >>>>> NullOutput >>>>> Configuration file successfully read >>>>> Successfully registered output connector >>>>> 'org.apache.manifoldcf.agents.output.nullconnector.NullConnector' >>>>> >>>>> D:\Program >>>>> Files\Apache\ManifoldCF\myMCF>processes\script\executecommand.bat >>>>> org.apache.manifoldcf.crawler.Register >>>>> org.apache.manifoldcf.crawler.connectors.filesystem.FileConnector >>>>> FileSystem >>>>> Configuration file successfully read >>>>> Successfully registered connector >>>>> 'org.apache.manifoldcf.crawler.connectors.filesystem.FileConnector' >>>>> >>>>> D:\Program Files\Apache\ManifoldCF\myMCF> >>>> > >