So how to convert a java string into POJO? ----- Original Message ----- From: "Pradeep A. Dalvi" <p...@apache.org> To: "users" <users@apex.apache.org> Sent: Tuesday, June 28, 2016 4:30:09 PM Subject: Re: Jdbcoutputoperator implementation
JdbcPOJOOutputOperator expects data as POJO, whose class name is specified using Context.PortContext.TUPLE_CLASS i.e. com.mycompany.test.PojoEvent here. Previous operator is probably sending String to JdbcPOJOOutputOperator. On Tue, Jun 28, 2016 at 4:16 PM, Jaikit Jilka <jji...@leadferret.com> wrote: > Hello, > > I am taking data from a .txt file and spliting words and inserting it into > database. > > ----- Original Message ----- > From: "Pradeep A. Dalvi" <p...@apache.org> > To: "users" <users@apex.apache.org> > Sent: Tuesday, June 28, 2016 4:12:31 PM > Subject: Re: Jdbcoutputoperator implementation > > What is the type of data emitted by previous operator to > JdbcPOJOOutputOperator? > > On Tue, Jun 28, 2016 at 3:46 PM, Jaikit Jilka <jji...@leadferret.com> wrote: >> Hello, >> >> I am getting an error as follow: >> >> Stopped running due to an exception. java.lang.ClassCastException: >> java.lang.String cannot be cast to com.mycompany.test.PojoEvent >> at SC.get(Unknown Source) >> at >> com.datatorrent.lib.db.jdbc.JdbcPOJOOutputOperator.setStatementParameters(JdbcPOJOOutputOperator.java:175) >> at >> com.datatorrent.lib.db.jdbc.AbstractJdbcTransactionableOutputOperator.processBatch(AbstractJdbcTransactionableOutputOperator.java:114) >> at >> com.datatorrent.lib.db.jdbc.AbstractJdbcTransactionableOutputOperator.endWindow(AbstractJdbcTransactionableOutputOperator.java:93) >> at >> com.datatorrent.stram.engine.GenericNode.processEndWindow(GenericNode.java:145) >> at com.datatorrent.stram.engine.GenericNode.run(GenericNode.java:351) >> at >> com.datatorrent.stram.engine.StreamingContainer$2.run(StreamingContainer.java:1388) >> >> I am not sure where to check the cast mismatch. I am inserting a value in >> the database. >> >> Thank You, >> >> Jaikit Jilka >> >> ----- Original Message ----- >> From: "Pradeep A. Dalvi" <p...@apache.org> >> To: "users" <users@apex.apache.org> >> Sent: Friday, June 24, 2016 4:45:18 PM >> Subject: Re: Jdbcoutputoperator implementation >> >> What are errors/exceptions seen in JdbcOutput container logs? >> Are you setting Context.PortContext.TUPLE_CLASS to POJO class being used? >> >> -- >> prad >> >> On Fri, Jun 24, 2016 at 2:13 PM, Jaikit Jilka <jji...@leadferret.com> wrote: >>> Hello, >>> >>> I resolved that error and now I can launch the application, But now the >>> container which has jdbcoperator is getting killed. I am attaching the >>> dt.log file of container which is running but does not have any operator. >>> >>> Thank You, >>> >>> Jaikit Jilka >>> >>> ----- Original Message ----- >>> From: "Pradeep A. Dalvi" <p...@apache.org> >>> To: "users" <users@apex.apache.org> >>> Sent: Friday, June 24, 2016 11:41:47 AM >>> Subject: Re: Jdbcoutputoperator implementation >>> >>> Yes, because it is not yet released. Compile & install latest malhar >>> in local ~/.m2 directory. >>> For that, git clone Malhar library repository. And do 'mvn clean >>> install' in that malhar clone. >>> >>> On Fri, Jun 24, 2016 at 11:31 AM, Jaikit Jilka <jji...@leadferret.com> >>> wrote: >>>> Hello, >>>> >>>> When I change my malher version in POM.xml to the latest i.e >>>> 3.5.0-SNAPSHOT it gives me an build time error : Failure to find >>>> org.apache.apex:malhar-library:jar:3.5.0-SNAPSHOT in >>>> https://www.datatorrent.com/maven/content/repositories/snapshots/. >>>> >>>> Thank You, >>>> >>>> Jaikit Jilka >>>> >>>> ----- Original Message ----- >>>> From: "Pradeep A. Dalvi" <p...@apache.org> >>>> To: "users" <users@apex.apache.org> >>>> Sent: Friday, June 24, 2016 11:13:42 AM >>>> Subject: Re: Jdbcoutputoperator implementation >>>> >>>> This issue was in 3.4 malhar and fixed later on. Fix is present in >>>> master branch. You can use latest malhar. >>>> For reference: >>>> https://github.com/apache/apex-malhar/blob/master/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcTransactionableOutputOperator.java#L142 >>>> >>>> On Fri, Jun 24, 2016 at 10:59 AM, Jaikit Jilka <jji...@leadferret.com> >>>> wrote: >>>>> Hello, >>>>> >>>>> I am setting UpdateCommand to empty string from properties.xml file still >>>>> I am getting the same error >>>>> >>>>> <property> >>>>> >>>>> <name>dt.application.MyWordCountApplication.operator.JdbcOutput.prop.setupdateCommand</name> >>>>> <value> </value> >>>>> </property> >>>>> >>>>> error: >>>>> >>>>> An error occurred trying to launch the application. Server message: >>>>> javax.validation.ConstraintViolationException: Operator JdbcOutput >>>>> violates constraints >>>>> [ConstraintViolationImpl{rootBean=JdbcPOJOOutputOperator{name=null}, >>>>> propertyPath='updateCommand', message='may not be null', >>>>> leafBean=JdbcPOJOOutputOperator{name=null}, value=null}] at >>>>> com.datatorrent.stram.plan.logical.LogicalPlan.validate(LogicalPlan.java:1680) >>>>> at com.datatorrent.stram.StramClient.<init>(StramClient.java:161) at >>>>> com.datatorrent.stram.client.StramAppLauncher.launchApp(StramAppLauncher.java:509) >>>>> at >>>>> com.datatorrent.stram.cli.DTCli$LaunchCommand.execute(DTCli.java:2050) at >>>>> com.datatorrent.stram.cli.DTCli.launchAppPackage(DTCli.java:3456) at >>>>> com.datatorrent.stram.cli.DTCli.access$7100(DTCli.java:106) at >>>>> com.datatorrent.stram.cli.DTCli$LaunchCommand.execute(DTCli.java:1895) at >>>>> com.datatorrent.stram.cli.DTCli$3.run(DTCli.java:1449) >>>>> >>>>> Thank You, >>>>> >>>>> Jaikit Jilka >>>>> >>>>> ----- Original Message ----- >>>>> From: "Munagala Ramanath" <r...@datatorrent.com> >>>>> To: "users" <users@apex.apache.org> >>>>> Sent: Thursday, June 23, 2016 3:32:42 PM >>>>> Subject: Re: Jdbcoutputoperator implementation >>>>> >>>>> Please look at: >>>>> >>>>> http://docs.datatorrent.com/beginner/ and >>>>> http://docs.datatorrent.com/application_packages/ >>>>> >>>>> for examples on how to set properties from XML files. >>>>> >>>>> Ram >>>>> >>>>> On Thu, Jun 23, 2016 at 3:25 PM, Jaikit Jilka <jji...@leadferret.com> >>>>> wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> How to pass an empty string for updatecommand in properties.xml. >>>>>> When I change my malhar version to 3.5.0-SNAPSHOT it gives me a complie >>>>>> time error -Failure to find >>>>>> org.apache.apex:malhar-library:jar:3.5.0-SNAPSHOT in >>>>>> https://www.datatorrent.com/maven/content/repositories/snapshots/ >>>>>> >>>>>> Thank You, >>>>>> >>>>>> Jaikit Jilka >>>>>> >>>>>> ----- Original Message ----- >>>>>> From: "Pradeep A. Dalvi" <p...@apache.org> >>>>>> To: "users" <users@apex.apache.org> >>>>>> Sent: Thursday, June 23, 2016 12:43:40 PM >>>>>> Subject: Re: Jdbcoutputoperator implementation >>>>>> >>>>>> Hi Jaikit, >>>>>> >>>>>> This constraint violation exception was enforced from >>>>>> AbstractJdbcTransactionableOutputOperator. In 3.3/3.4 malhar library, >>>>>> updateCommand parameter has constraint set to @NotNull on getter >>>>>> method. >>>>>> >>>>>> You could do either of following to solve this: >>>>>> 1. Set updateCommand from properties.xml to empty string >>>>>> 2. Use master branch of Malhar >>>>>> 3. Remove @NotNull on getUpdateCommand in >>>>>> AbstractJdbcTransactionableOutputOperator >>>>>> >>>>>> Cheers, >>>>>> Pradeep A. Dalvi >>>>>> >>>>>> On Thu, Jun 23, 2016 at 11:36 AM, Jaikit Jilka <jji...@leadferret.com> >>>>>> wrote: >>>>>> > Hi Devendra, >>>>>> > >>>>>> > I tried to run your application. I followed all steps mentioned but I >>>>>> > am >>>>>> getting following error. >>>>>> > >>>>>> > An error occurred trying to launch the application. Server message: >>>>>> javax.validation.ConstraintViolationException: Operator JdbcOutput >>>>>> violates >>>>>> constraints >>>>>> [ConstraintViolationImpl{rootBean=JdbcPOJOOutputOperator{name=null}, >>>>>> propertyPath='updateCommand', message='may not be null', >>>>>> leafBean=JdbcPOJOOutputOperator{name=null}, value=null}] at >>>>>> com.datatorrent.stram.plan.logical.LogicalPlan.validate(LogicalPlan.java:1680) >>>>>> at com.datatorrent.stram.StramClient.<init>(StramClient.java:161) at >>>>>> com.datatorrent.stram.client.StramAppLauncher.launchApp(StramAppLauncher.java:509) >>>>>> at com.datatorrent.stram.cli.DTCli$LaunchCommand.execute(DTCli.java:2050) >>>>>> at com.datatorrent.stram.cli.DTCli.launchAppPackage(DTCli.java:3456) at >>>>>> com.datatorrent.stram.cli.DTCli.access$7100(DTCli.java:106) at >>>>>> com.datatorrent.stram.cli.DTCli$LaunchCommand.execute(DTCli.java:1895) at >>>>>> com.datatorrent.stram.cli.DTCli$3.run(DTCli.java:1449) >>>>>> > >>>>>> > Thank you, >>>>>> > >>>>>> > Jaikit Jilka >>>>>> > >>>>>> > ----- Original Message ----- >>>>>> > From: "Devendra Tagare" <devend...@datatorrent.com> >>>>>> > To: "users" <users@apex.apache.org> >>>>>> > Sent: Thursday, June 23, 2016 10:32:17 AM >>>>>> > Subject: Re: Jdbcoutputoperator implementation >>>>>> > >>>>>> > Hi Jalkit, >>>>>> > >>>>>> > The JdbcPOJOOutputOperator is being configured with the >>>>>> > JdbcTransactionalStore which requires an additional dt_meta table. >>>>>> > >>>>>> > The table schema is here - >>>>>> > >>>>>> https://github.com/devtagare/examples/blob/SPOI-8251/tutorials/jdbcToJdbc/src/test/resources/example.sql >>>>>> > >>>>>> > You can find an example application which uses the >>>>>> > JdbcPOJOOutputOperator >>>>>> > here - >>>>>> > >>>>>> https://github.com/devtagare/examples/tree/SPOI-8251/tutorials/jdbcToJdbc >>>>>> > >>>>>> > Thanks, >>>>>> > Dev >>>>>> > >>>>>> > On Thu, Jun 23, 2016 at 10:17 AM, Jaikit Jilka <jji...@leadferret.com> >>>>>> > wrote: >>>>>> > >>>>>> >> Hello, >>>>>> >> >>>>>> >> I am currently working on an application which simply read data from >>>>>> .txt >>>>>> >> file and slpits the words and inserts them into mysql. But I am >>>>>> >> getting >>>>>> >> error. I am using jdbcpojooutputoperator from malhar library. But I am >>>>>> >> getting an error on ActiveFieldInfos which says it is protected in >>>>>> >> jdbcpojoinputoperator and also I do not know what to do in >>>>>> Application.java >>>>>> >> file. I am attaching both the file here. Kindly help me resolve the >>>>>> issue. >>>>>> >> >>>>>> >> Thank You, >>>>>> >> >>>>>> >> Jaikit Jilka >>>>>>