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

James Strachan commented on CAMEL-743:
--------------------------------------

Agreed on putting it into the camel distro; it should only depend on some 
gshell stuff which shouldn't change very much. 

How about we start by adding the easy stuff; like listing all routes, 
endpoints. 

Something like an ls command? 

Maybe we should make a kinda virtual camel file system - kinda like unix. e.g. 

{code} 
camel> ls 
routes endpoints 
camel> cd endpoints 
camel> ls 
direct:foo mock:cheese 
camel> ls -l 
direct:foo org.apache.camel.component.direct.DirectEndpoint 
mock:cheese org.apache.camel.component.mock.MockEndpoint 
camel> cd ../routes 
camel> ls 
route1 route2 route3 
camel> cd route1 
camel> ls -al 
from1 to1 to2 
camel> ls -al 
from1 direct:foo 
to1 mock:cheese 
camel> cd mock:cheese 
camel> ls 
properties exchanges 
camel> cd exchanges 
camel> ls 
exchangeId1 exchangeId2 exchangeId3 
camel> cd exchangeId1 
camel> ls 
properties in out 
{code} 

You get the idea :) 

i.e. maybe we write a little generic kinda cd / ls file system shell which can 
be really easy to extend can then navigate around all the available endpoints & 
routes showing a summary listing or a detail listing etc. 

(Maybe we can just make this a kinda JMX browser really - not sure). 

Then other things we'd need to add are things like [turning on / off 
tracing|http://activemq.apache.org/camel/tracer.html], or enable/disable the 
the [delayer to really slow down the processing of routes so its easy to 
watch|http://issues.apache.org/activemq/browse/CAMEL-640] - or even allowing 
stepping through routes maybe via the 
[debugger|http://activemq.apache.org/camel/debugger.html] and showing the 
contents of endpoints (i.e. showing what the tracer has collected). 

To answer your question on how to add new routes via a shell - maybe we just 
have a separate camel-scala shell that lets you type in the [scala 
DSL|http://activemq.apache.org/camel/scala-dsl.html]?

> create a command line console for Camel for use in ServiceMix
> -------------------------------------------------------------
>
>                 Key: CAMEL-743
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-743
>             Project: Apache Camel
>          Issue Type: New Feature
>            Reporter: James Strachan
>            Assignee: Willem Jiang
>             Fix For: 1.5.0
>
>
> for more background see...
> * [console and commands|http://servicemix.apache.org/SMX4KNL/41-commands.html]
> * [extending the 
> console|http://servicemix.apache.org/SMX4KNL/7-extending-the-console.html]
> some ideas for what the console can do
> * listing routes and the steps in routes
> * dynamically add some simple routes. e.g. type in "from uri to uri". Maybe 
> the Scala DSL could be its own shell?
> * enable/disable tracing
> * debugging? e.g. stepping through, setting breakpoints
> * enable/disable a 'go slow dial' for easier debugging etc

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

Reply via email to