camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 黄颜木 (JIRA) <j...@apache.org>
Subject [jira] [Commented] (CAMEL-8792) org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke method:
Date Fri, 22 May 2015 15:28:17 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-8792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14556310#comment-14556310
] 

黄颜木 commented on CAMEL-8792:
----------------------------

okay,I will try. 3x for ur answer.

> org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke method:

> ----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-8792
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8792
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core, camel-sql
>    Affects Versions: 2.15.2
>         Environment: windows7 jdk1.7
>            Reporter: 黄颜木
>
> 1. when just use sqlComponents ,its okay. 
> 2. I try to just run the sql one times,so add timer//foo?repeatCount=1
> error happend.  
> my code goes here:
>  <beans xmlns="http://www.springframework.org/schema/beans"
>  19        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>  20        xmlns:camel="http://camel.apache.org/schema/spring"
>  21        xsi:schemaLocation="
>  22        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
>  23        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
>  24
>  25   <!-- this is the JDBC data source which uses an Oracle database -->
>  26   <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
>  27     <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
>  28     <property name="url" value="jdbc:oracle:thin:@xxxx.xxx.xxx.xxx:1521:test"/>
>  29     <property name="username" value="xxx"/>
>  30     <property name="password" value="xxx"/>
>  31   </bean>
>  32
>  33   <!-- configure the Camel SQL component to use the JDBC data source -->
>  34   <bean id="sql" class="org.apache.camel.component.sql.SqlComponent">
>  35     <property name="dataSource" ref="dataSource"/>
>  36   </bean>
>  37
>  38   <!-- ofbiz remote dispatcher -->
>  39   <bean id="ofbizDispatcher" class="com.ofbizian.OfbizDispatcher">
>  40     <constructor-arg ref="remoteDispatcher"/>
>  41   </bean>
>  42
>  43   <bean id="categoryBean" class="com.ofbizian.CategoryBean"/>
>  44
>  45   <!-- here is Camel configured with a number of routes -->
>  46   <camelContext xmlns="http://camel.apache.org/schema/spring">
>  47      <!-- use Camel property placeholder loaded from the given file -->
>  48      <propertyPlaceholder id="placeholder" location="classpath:sql.properties"/>
>  49
>  50     <!-- ofbiz remote deispatcher -->
>  51     <proxy id="remoteDispatcher" serviceInterface="org.ofbiz.service.rmi.RemoteDispatcher"
serviceUrl="direct:ofbiz"/>
>  52
>  53     <route id="encoderCategory-route">
>  54       <!-- 仅运行一次-->
>  55       <from uri="timer://foo?repeatCount=1"/>
>  56       <to uri="sql:{{sql.selectCategory}}?outputClass=com.ofbizian.CategoryBean"/>
>  57       <log message="${in.body.mainid} :: ${in.body.typename} :: ${in.body.typeparent}"/>
>  58       <setHeader headerName="Ofbiz.ServiceName">
>  59         <constant>createEncoderCategory</constant>
>  60       </setHeader>
>  61       <setHeader headerName="Ofbiz.Param.productCategoryId">
>  62         <simple>${in.body.mainid}</simple>
>  63       </setHeader>
>  64       <setHeader headerName="Ofbiz.Param.categoryName">
>  65         <simple>${in.body.typename}</simple>
>  66       </setHeader>
>  67       <setHeader headerName="Ofbiz.Param.parentProductCategoryId">
>  68         <simple>${in.body.typeparent}</simple>
>  69       </setHeader>
>  70       <setHeader headerName="Ofbiz.Param.primaryParentCategoryId">
>  71         <simple>${in.body.typeparent}</simple>
>  72       </setHeader>
>  73       <setHeader headerName="Ofbiz.Param.productCategoryTypeId">
>  74         <constant>CATALOG_CATEGORY</constant>
>  75       </setHeader>
>  76       <process ref="ofbizDispatcher"/>
>  77     </route>
>  78     <route>
>  79       <from uri="direct:ofbiz"/>
>  80       <to uri="rmi://192.168.36.20:1099/RMIDispatcher"/>
>  81       <log message="ofbiz create note:${body}"/>
>  82     </route>
>  83     <!-- END SNIPPET: e2 -->
>  84 </camelContext>
>  85 </beans>
> -------------------------------------------------------------------------------
> CategoryBean.java
>   1 package com.ofbizian;
>   2
>   3 public class CategoryBean{
>   4 private String mainid;
>   5 private String typename;
>   6 private String typeparent;
>   7 private String typecategory;
>   8
>   9 public String getMainid(){
>  10   return mainid;
>  11 }
>  12
>  13 public void setMainid(String mainid){
>  14   this.mainid=mainid;
>  15 }
>  16
>  17 public String getTypename(){
>  18   return typename;
>  19 }
>  20
>  21 public void setTypename(String typename){
>  22   this.typename=typename;
>  23 }
>  24
>  25 public String getTypeparent(){
>  26   return typeparent;
>  27 }
>  28
>  29 public void setTypeparent(String typeparent){
>  30   this.typeparent=typeparent;
>  31 }
>  32
>  33 public String getTypecategory(){
>  34   return typecategory;
>  35 }
>  36
>  37 public void setTypecategory(){
>  38   this.typecategory=typecategory;
>  39 }
>  40 }
>                                                       
> Message History
> ---------------------------------------------------------------------------------------------------------------------------------------
> RouteId              ProcessorId          Processor                                 
                                      Elapsed (ms)
> [encoderCategory-ro] [encoderCategory-ro] [timer://foo?repeatCount=1                
                                    ] [      1256]
> [encoderCategory-ro] [to1               ] [sql:select MAINID,TYPENAME,TYPEPARENT,TYPECATEGORY
 from spg_material_type whe] [      1162]
> [encoderCategory-ro] [log1              ] [log                                      
                                    ] [        81]
> Exchange
> ---------------------------------------------------------------------------------------------------------------------------------------
> Exchange[
>         Id                  ID-localhost-localdomain-59312-1432288083959-0-2
>         ExchangePattern     InOnly
>         Headers             {breadcrumbId=ID-localhost-localdomain-59312-1432288083959-0-1,
CamelRedelivered=false, CamelRedeliveryCounter=0, CamelSqlRowCount=16, firedTime=Fri May 22
17:48:06 CST 2015}
>         BodyType            java.util.ArrayList
>         Body                [com.ofbizian.CategoryBean@bbf16e, com.ofbizian.CategoryBean@e79a45,
com.ofbizian.CategoryBean@14135cf, com.ofbizian.CategoryBean@33d7d7, com.ofbizian.CategoryBean@19f6fa4,
com.ofbizian.CategoryBean@5a8b48, com.ofbizian.CategoryBean@6e273a, com.ofbizian.CategoryBean@1d1627e,
com.ofbizian.CategoryBean@1997685, com.ofbizian.CategoryBean@343d90, com.ofbizian.CategoryBean@1b5c453,
com.ofbizian.CategoryBean@6c45d2, com.ofbizian.CategoryBean@5bf9e7, com.ofbizian.CategoryBean@73ed80,
com.ofbizian.CategoryBean@ed93a9, com.ofbizian.CategoryBean@179565e]
> ]
> Stacktrace
> ---------------------------------------------------------------------------------------------------------------------------------------
> org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke method:
.mainid on null due to: org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed
to invoke method: mainid on null due to: org.apache.camel.component.bean.MethodNotFoundException:
Method with name: mainid not found on bean: [com.ofbizian.CategoryBean@bbf16e, com.ofbizian.CategoryBean@e79a45,
com.ofbizian.CategoryBean@14135cf, com.ofbizian.CategoryBean@33d7d7, com.ofbizian.CategoryBean@19f6fa4,
com.ofbizian.CategoryBean@5a8b48, com.ofbizian.CategoryBean@6e273a, com.ofbizian.CategoryBean@1d1627e,
com.ofbizian.CategoryBean@1997685, com.ofbizian.CategoryBean@343d90, com.ofbizian.CategoryBean@1b5c453,
com.ofbizian.CategoryBean@6c45d2, com.ofbizian.CategoryBean@5bf9e7, com.ofbizian.CategoryBean@73ed80,
com.ofbizian.CategoryBean@ed93a9, com.ofbizian.CategoryBean@179565e] of type: java.util.ArrayList.
Exchange[Message: [com.ofbizian.CategoryBean@bbf16e, com.ofbizian.CategoryBean@e79a45, com.ofbizian.CategoryBean@14135cf,
com.ofbizian.CategoryBean@33d7d7, com.ofbizian.CategoryBean@19f6fa4, com.ofbizian.CategoryBean@5a8b48,
com.ofbizian.CategoryBean@6e273a, com.ofbizian.CategoryBean@1d1627e, com.ofbizian.CategoryBean@1997685,
com.ofbizian.CategoryBean@343d90, com.ofbizian.CategoryBean@1b5c453, com.ofbizian.CategoryBean@6c45d2,
com.ofbizian.CategoryBean@5bf9e7, com.ofbizian.CategoryBean@73ed80, com.ofbizian.CategoryBean@ed93a9,
com.ofbizian.CategoryBean@179565e]]
>         at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:117)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message