You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2009/04/20 17:18:31 UTC

[jira] Created: (CAMEL-1549) BeanInfo - Should ignore all methods from java.lang.Object

BeanInfo - Should ignore all methods from java.lang.Object
----------------------------------------------------------

                 Key: CAMEL-1549
                 URL: https://issues.apache.org/activemq/browse/CAMEL-1549
             Project: Apache Camel
          Issue Type: Improvement
          Components: camel-core
    Affects Versions: 2.0-M1
            Reporter: Claus Ibsen
             Fix For: 2.0.0


I have a bean as
{code}
    public static final class MyFooBean {

        public String doSomething(String payload) throws Exception {
            if ("Kabom".equals(payload)) {
                throw new IllegalArgumentException("Kabom");
            }

            return "Bye World";
        }
    }
{code}


And get this stacktrace
{code}
Caused by: org.apache.camel.component.bean.AmbiguousMethodCallException: Ambiguous method invocations possible: [public int java.lang.String.compareTo(java.lang.String), public int java.lang.String.indexOf(java.lang.String), public int java.lang.String.indexOf(java.lang.String,int), public byte[] java.lang.String.getBytes(java.lang.String) throws java.io.UnsupportedEncodingException, public boolean java.lang.String.equalsIgnoreCase(java.lang.String), public int java.lang.String.compareToIgnoreCase(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String,int), public boolean java.lang.String.endsWith(java.lang.String), public int java.lang.String.lastIndexOf(java.lang.String), public java.lang.String java.lang.String.concat(java.lang.String), public boolean java.lang.String.matches(java.lang.String), public java.lang.String java.lang.String.replaceFirst(java.lang.String,java.lang.String), public java.lang.String java.lang.String.replaceAll(java.lang.String,java.lang.String), public java.lang.String[] java.lang.String.split(java.lang.String,int), public java.lang.String[] java.lang.String.split(java.lang.String), public static transient java.lang.String java.lang.String.format(java.lang.String,java.lang.Object[])] on the exchange: Exchange[Message: Hello World]
	at org.apache.camel.component.bean.BeanInfo.chooseMethodWithCustomAnnotations(BeanInfo.java:496)
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CAMEL-1549) BeanInfo - Should ignore all methods from java.lang.Object

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/CAMEL-1549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-1549.
--------------------------------

    Resolution: Fixed

trunk: 775864.

> BeanInfo - Should ignore all methods from java.lang.Object
> ----------------------------------------------------------
>
>                 Key: CAMEL-1549
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1549
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.0-M1
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>             Fix For: 2.0.0
>
>
> I have a bean as
> {code}
>     public static final class MyFooBean {
>         public String doSomething(String payload) throws Exception {
>             if ("Kabom".equals(payload)) {
>                 throw new IllegalArgumentException("Kabom");
>             }
>             return "Bye World";
>         }
>     }
> {code}
> And get this stacktrace
> {code}
> Caused by: org.apache.camel.component.bean.AmbiguousMethodCallException: Ambiguous method invocations possible: [public int java.lang.String.compareTo(java.lang.String), public int java.lang.String.indexOf(java.lang.String), public int java.lang.String.indexOf(java.lang.String,int), public byte[] java.lang.String.getBytes(java.lang.String) throws java.io.UnsupportedEncodingException, public boolean java.lang.String.equalsIgnoreCase(java.lang.String), public int java.lang.String.compareToIgnoreCase(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String,int), public boolean java.lang.String.endsWith(java.lang.String), public int java.lang.String.lastIndexOf(java.lang.String), public java.lang.String java.lang.String.concat(java.lang.String), public boolean java.lang.String.matches(java.lang.String), public java.lang.String java.lang.String.replaceFirst(java.lang.String,java.lang.String), public java.lang.String java.lang.String.replaceAll(java.lang.String,java.lang.String), public java.lang.String[] java.lang.String.split(java.lang.String,int), public java.lang.String[] java.lang.String.split(java.lang.String), public static transient java.lang.String java.lang.String.format(java.lang.String,java.lang.Object[])] on the exchange: Exchange[Message: Hello World]
> 	at org.apache.camel.component.bean.BeanInfo.chooseMethodWithCustomAnnotations(BeanInfo.java:496)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAMEL-1549) BeanInfo - Should ignore all methods from java.lang.Object

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/CAMEL-1549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=51303#action_51303 ] 

Claus Ibsen commented on CAMEL-1549:
------------------------------------

But anyway it should disregard any java.lang.Object methods

> BeanInfo - Should ignore all methods from java.lang.Object
> ----------------------------------------------------------
>
>                 Key: CAMEL-1549
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1549
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.0-M1
>            Reporter: Claus Ibsen
>             Fix For: 2.0.0
>
>
> I have a bean as
> {code}
>     public static final class MyFooBean {
>         public String doSomething(String payload) throws Exception {
>             if ("Kabom".equals(payload)) {
>                 throw new IllegalArgumentException("Kabom");
>             }
>             return "Bye World";
>         }
>     }
> {code}
> And get this stacktrace
> {code}
> Caused by: org.apache.camel.component.bean.AmbiguousMethodCallException: Ambiguous method invocations possible: [public int java.lang.String.compareTo(java.lang.String), public int java.lang.String.indexOf(java.lang.String), public int java.lang.String.indexOf(java.lang.String,int), public byte[] java.lang.String.getBytes(java.lang.String) throws java.io.UnsupportedEncodingException, public boolean java.lang.String.equalsIgnoreCase(java.lang.String), public int java.lang.String.compareToIgnoreCase(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String,int), public boolean java.lang.String.endsWith(java.lang.String), public int java.lang.String.lastIndexOf(java.lang.String), public java.lang.String java.lang.String.concat(java.lang.String), public boolean java.lang.String.matches(java.lang.String), public java.lang.String java.lang.String.replaceFirst(java.lang.String,java.lang.String), public java.lang.String java.lang.String.replaceAll(java.lang.String,java.lang.String), public java.lang.String[] java.lang.String.split(java.lang.String,int), public java.lang.String[] java.lang.String.split(java.lang.String), public static transient java.lang.String java.lang.String.format(java.lang.String,java.lang.Object[])] on the exchange: Exchange[Message: Hello World]
> 	at org.apache.camel.component.bean.BeanInfo.chooseMethodWithCustomAnnotations(BeanInfo.java:496)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAMEL-1549) BeanInfo - Should ignore all methods from java.lang.Object

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/CAMEL-1549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=51302#action_51302 ] 

Claus Ibsen commented on CAMEL-1549:
------------------------------------

I got fooled by james have added jndi.properties in src/test/resources that the unit tests read for the mocked JNDI registry.
And there is a foo -> bar bean.




> BeanInfo - Should ignore all methods from java.lang.Object
> ----------------------------------------------------------
>
>                 Key: CAMEL-1549
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1549
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.0-M1
>            Reporter: Claus Ibsen
>             Fix For: 2.0.0
>
>
> I have a bean as
> {code}
>     public static final class MyFooBean {
>         public String doSomething(String payload) throws Exception {
>             if ("Kabom".equals(payload)) {
>                 throw new IllegalArgumentException("Kabom");
>             }
>             return "Bye World";
>         }
>     }
> {code}
> And get this stacktrace
> {code}
> Caused by: org.apache.camel.component.bean.AmbiguousMethodCallException: Ambiguous method invocations possible: [public int java.lang.String.compareTo(java.lang.String), public int java.lang.String.indexOf(java.lang.String), public int java.lang.String.indexOf(java.lang.String,int), public byte[] java.lang.String.getBytes(java.lang.String) throws java.io.UnsupportedEncodingException, public boolean java.lang.String.equalsIgnoreCase(java.lang.String), public int java.lang.String.compareToIgnoreCase(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String,int), public boolean java.lang.String.endsWith(java.lang.String), public int java.lang.String.lastIndexOf(java.lang.String), public java.lang.String java.lang.String.concat(java.lang.String), public boolean java.lang.String.matches(java.lang.String), public java.lang.String java.lang.String.replaceFirst(java.lang.String,java.lang.String), public java.lang.String java.lang.String.replaceAll(java.lang.String,java.lang.String), public java.lang.String[] java.lang.String.split(java.lang.String,int), public java.lang.String[] java.lang.String.split(java.lang.String), public static transient java.lang.String java.lang.String.format(java.lang.String,java.lang.Object[])] on the exchange: Exchange[Message: Hello World]
> 	at org.apache.camel.component.bean.BeanInfo.chooseMethodWithCustomAnnotations(BeanInfo.java:496)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CAMEL-1549) BeanInfo - Should ignore all methods from java.lang.Object

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/CAMEL-1549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen reassigned CAMEL-1549:
----------------------------------

    Assignee: Claus Ibsen

> BeanInfo - Should ignore all methods from java.lang.Object
> ----------------------------------------------------------
>
>                 Key: CAMEL-1549
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1549
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.0-M1
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>             Fix For: 2.0.0
>
>
> I have a bean as
> {code}
>     public static final class MyFooBean {
>         public String doSomething(String payload) throws Exception {
>             if ("Kabom".equals(payload)) {
>                 throw new IllegalArgumentException("Kabom");
>             }
>             return "Bye World";
>         }
>     }
> {code}
> And get this stacktrace
> {code}
> Caused by: org.apache.camel.component.bean.AmbiguousMethodCallException: Ambiguous method invocations possible: [public int java.lang.String.compareTo(java.lang.String), public int java.lang.String.indexOf(java.lang.String), public int java.lang.String.indexOf(java.lang.String,int), public byte[] java.lang.String.getBytes(java.lang.String) throws java.io.UnsupportedEncodingException, public boolean java.lang.String.equalsIgnoreCase(java.lang.String), public int java.lang.String.compareToIgnoreCase(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String), public boolean java.lang.String.startsWith(java.lang.String,int), public boolean java.lang.String.endsWith(java.lang.String), public int java.lang.String.lastIndexOf(java.lang.String), public java.lang.String java.lang.String.concat(java.lang.String), public boolean java.lang.String.matches(java.lang.String), public java.lang.String java.lang.String.replaceFirst(java.lang.String,java.lang.String), public java.lang.String java.lang.String.replaceAll(java.lang.String,java.lang.String), public java.lang.String[] java.lang.String.split(java.lang.String,int), public java.lang.String[] java.lang.String.split(java.lang.String), public static transient java.lang.String java.lang.String.format(java.lang.String,java.lang.Object[])] on the exchange: Exchange[Message: Hello World]
> 	at org.apache.camel.component.bean.BeanInfo.chooseMethodWithCustomAnnotations(BeanInfo.java:496)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.