"org.apache.manifoldcf.core.
interfaces.ManifoldCFException: No appropriate
constructor for IOutputConnector implementation
'package.myimplementationclass'.  Need xxx(ConfigParams)"

What could be clearer than that?  Your connector implementation class is
expected to have a constructor that accepts one argument: ConfigParams.

Karl



On Tue, Sep 17, 2013 at 2:54 PM, Pranesh Vadhirajan <
[email protected]> wrote:

> I'm a bit lost about the build process at the moment.  I've created a jar
> file which contains the class the I wrote (this class extends
> "org.apache.manifoldcf.agents.output.filesystem.FileOutputConnector") and
> placed this jar inside the connector-lib directory (both the
> /dist/connector-lib and the /framework/dist/connector-lib directories in
> the
> top level ManifoldCF directory).  After the build completes successfully, I
> don't see my connector class listed inside the connectors.xml file of
> either
> directory.  When I attempt to run ManifoldCF I see the following exception
> owing to my new output connector implementation
>
> org.apache.manifoldcf.core.interfaces.ManifoldCFException: No appropriate
> constructor for IOutputConnector implementation
> 'package.myimplementationclass'.  Need xxx(ConfigParams).
>         at
>
> org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory.getConnectorN
> oCheck(OutputConnectorFactory.java:164)
>         at
>
> org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory.install(Outpu
> tConnectorFactory.java:50)
>         at
>
> org.apache.manifoldcf.agents.outputconnmgr.OutputConnectorManager.registerCo
> nnector(OutputConnectorManager.java:180)
>         at
>
> org.apache.manifoldcf.crawler.system.ManifoldCF.registerConnectors(ManifoldC
> F.java:448)
>         at
>
> org.apache.manifoldcf.crawler.system.ManifoldCF.reregisterAllConnectors(Mani
> foldCF.java:192)
>         ...
> Caused by: java.lang.NoSuchMethodException:
> package.myimplementationclass.<init>()
>         at java.lang.Class.getConstructor0(Unknown Source)
>         at java.lang.Class.getConstructor(Unknown Source)
>         at
>
> org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory.getConnectorN
> oCheck(OutputConnectorFactory.java:140)
>         ... 6 more
>
> Can anyone please point me to what the issue is here?  I am not sure if
> this
> is a configuration issue or what constructor (other than my own
> implementation class constructor which I've implemented) I have to
> implement.
>
> Pranesh Vadhirajan
>
> -----Original Message-----
> From: Karl Wright [mailto:[email protected]]
> Sent: Tuesday, September 17, 2013 12:33 PM
> To: dev
> Subject: Re: File System crawler question
>
> Hi Pranesh,
>
> Your connector jar has to be available in the path in order for it to be
> found.  If you place your connector jar in the connector-lib directory, it
> should find it.
>
> Karl
>
>
> On Tue, Sep 17, 2013 at 12:27 PM, Pranesh Vadhirajan <
> [email protected]> wrote:
>
> > Does this also require a new build?  When I tried the procedure you
> > mentioned, I am able to create an output connection with my
> > implementation class, but I see that it is labeled "uninstalled".
> > When I looked at the ManifoldCF page regarding building and deploying,
> > I get the sense that I need to deploy a jar file to the "lib"
> > directory and build my connector, but I'm not clear.  Do I just create
> > a jar file with my class and its dependencies and copy this jar to the
> > lib folder in the top-level directory and do a build?
> >
> > I appreciate your quick responses to my questions so far.  Please bear
> > with me if I'm being a bit annoying with my questions.
> > Thanks,
> >
> > Pranesh Vadhirajan
> >
> > -----Original Message-----
> > From: Karl Wright [mailto:[email protected]]
> > Sent: Tuesday, September 17, 2013 11:52 AM
> > To: dev
> > Subject: Re: File System crawler question
> >
> > You can either add your connector's class name to the connectors.xml
> > file, in which case it will be registered when ManifoldCF is started,
> > or you can use the command-line command for registering a connector.
> > See the Programmatic Operation page for that option.
> >
> > Karl
> >
> >
> > On Tue, Sep 17, 2013 at 11:47 AM, Pranesh Vadhirajan <
> > [email protected]> wrote:
> >
> > > Hi Karl,
> > >
> > > Thanks for your response.  I've decided to not use my file
> > > monitoring approach for a more elegant solution, I think.  I have
> > > started to implement my own File system output connector by
> > > extending the
> org.apache.manifoldcf.agents.output.filesystem.FileOutputConnector class.
> > >  I
> > > have a question about this however:  Once I've created my own
> > > implementation of an output connector from the above class, how can
> > > I register my output connector with ManifoldCF so that jobs can run
> > > properly with my own output connector implementation?
> > >
> > > I.e., at the moment (before implementing my own connector) when I
> > > create an output connection in ManifoldCF, I use the JSON API with
> > > "org.apache.manifoldcf.agents.output.filesystem.FileOutputConnector"
> > > as my class name.  How can I register my own class name (let's say
> > > "sample_package.myfileoutputconnector", which extends
> > > "org.apache.manifoldcf.agents.output.filesystem.FileOutputConnector"
> > > ) with ManifoldCF, so that jobs can be defined to use my own output
> > connector?
> > >
> > > Thanks,
> > > Pranesh Vadhirajan
> > >
> > > -----Original Message-----
> > > From: Karl Wright [mailto:[email protected]]
> > > Sent: Monday, September 16, 2013 5:59 PM
> > > To: dev
> > > Subject: Re: File System crawler question
> > >
> > > Hi Pranesh,
> > >
> > > The API basically allows you to do anything you can do in the UI.
> > > In the UI you would use the Document Status report to figure out
> > > what documents belongs to a given job that were in a particular
> > > state, and that's exactly what you will need to do here.  See the
> > > "Programmatic Operation" page.
> > > Here are some sections of interest:
> > >
> > >
> > > http://manifoldcf.apache.org/release/trunk/en_US/programmatic-operat
> > > io
> > > n.html
> > > #Queue+query+parameters
> > >
> > > ... and the following REST operation:
> > >
> > > repositoryconnectionquery/*<encoded_connection_name>
> > >
> > > *
> > > *Karl
> > > *
> > >
> > >
> > > On Mon, Sep 16, 2013 at 5:50 PM, Pranesh Vadhirajan <
> > > [email protected]> wrote:
> > >
> > > > Hi All,
> > > >
> > > >
> > > >
> > > > I am implementing my own java client to crawl file system
> > > > resources via the ManifoldCF JSON based API.  I have been able to
> > > > define and run a job to crawl a file system repository and output
> > > > to a file system
> > > destination.
> > > >
> > > >
> > > >
> > > > The trouble I'm having currently is to be able to know which
> > > > documents have been crawled via the ManifoldCF API.  I have looked
> > > > through the API documentation on the ManifoldCF release pages, but
> > > > I'm unable to find this information.  Could someone point me in
> > > > the
> > right direction?
> > > >
> > > >
> > > >
> > > > When I try to use java API for file system monitoring (to check on
> > > > the contents of the output folder), I'm having issues with the
> > > > files being locked during the execution of the job.  Therefore, I
> > > > need to query ManifoldCF engine to understand what documents have
> > > > been changed in the output area so that I can run my file system
> > > > monitoring code on a different schedule.
> > > >
> > > >
> > > >
> > > > Please let me know if I didn't explain myself well here.
> > > >
> > > >
> > > >
> > > > Thanks,
> > > > Pranesh
> > > >
> > > >
> > > >
> > > > Pranesh Vadhirajan
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> >
> >
> >
>
>
>

Reply via email to