You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Babak Vahdat (JIRA)" <ji...@apache.org> on 2013/12/01 12:55:36 UTC
[jira] [Commented] (CAMEL-7023) Add hawtio goal to camel plugin
[ https://issues.apache.org/jira/browse/CAMEL-7023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13836007#comment-13836007 ]
Babak Vahdat commented on CAMEL-7023:
-------------------------------------
Still another 3 concerns I have about [the newly introduced Mojo|https://github.com/apache/camel/blob/master/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/HawtioMojo.java] for this goal:
1) The *static* main method of {{io.hawt.app.App}} is and should be {{public}} as otherwise people using it standalone would not be able to invoke it anyway. So there is *no* need for the logic below to make it "accessible" (even if {{hawtioMain.isAccessible()}} returns {{false}}, note that the method is *static*), that is we could completely get rid of the following obsolete logic:
{code}
if (!hawtioMain.isAccessible()) {
getLog().debug("Setting accessibility to true in order to invoke main().");
hawtioMain.setAccessible(true);
}
{code}
2) The {{java.lang.Class#getMethod()}} API has the following signature (note the varargs signature for any *potential* parameter(s)):
{code}
public Method getMethod(String name, Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
{code}
SO that instead of:
{code}
.getMethod("main", new Class[] {String[].class});
{code}
We can simply do:
{code}
.getMethod("main", String[].class);
{code}
As under the cover the compiler already creates an object array for free.
3) Last but not least instead of the following:
{code}
hawtioMain.invoke(hawtioMain, new Object[]{args});
{code}
We should better do:
{code}
hawtioMain.invoke(null, new Object[]{args});
{code}
As the method is *static*!
Please note that my intention is *NOT* to criticize or what not but I only believe in the passion of all of us to maintain a clean, precise and easy to read code while riding Camel! :)
> Add hawtio goal to camel plugin
> -------------------------------
>
> Key: CAMEL-7023
> URL: https://issues.apache.org/jira/browse/CAMEL-7023
> Project: Camel
> Issue Type: New Feature
> Components: tooling
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Fix For: 2.12.3, 2.13.0
>
> Attachments: Screen Shot 2013-11-30 at 11.10.54.png, camel-routes.png, camel-tree.png
>
>
> This allows end users to start Camel applications and examples as they would do with mvn camel:run, but using mvn camel:hawtio instead, it also bootup the hawtio web console.
> This allows end users to use the console to see what happens, visualize the Camel routes, debug the routes, profile the routes, and whatnot.
--
This message was sent by Atlassian JIRA
(v6.1#6144)