| time |
nick |
message |
10:24 |
<davsclaus> |
if Camel is started from commandline with no spring dependencies then it will try to enable JMX and we need som spring jars for this - should we then catch this situation and fallback to non JMX mode? |
10:24 |
<davsclaus> |
Caused by: java.lang.NoClassDefFoundError: org/springframework/jmx/export/metadata/JmxAttributeSource |
10:26 |
<jstrachan> |
yeah - I'd have hoped we could have made the spring dependency optional to be honest |
10:27 |
<jstrachan> |
I guess if no spring jar is present we could just avoid enabling jmx? |
10:27 |
<davsclaus> |
yep i think so to, I will add one of your are you missing XXX jar inspired log messages ;) |
10:29 |
<jstrachan> |
yay :) |
10:37 |
<davsclaus> |
Could not find needed classes for JMX lifecycle strategy. Are you missing spring-context.jar by any chance? NoClassDefFoundError: org/springframework/jmx/export/metadata/JmxAttributeSource |
10:38 |
<davsclaus> |
Not possible to use JMX lifecycle strategy. Using DefaultLifecycleStrategy instead. |
10:38 |
<jstrachan> |
sounds great :) |
10:40 |
<davsclaus> |
committed to trunk |
10:41 |
<jstrachan> |
yay |
10:42 |
<davsclaus> |
i am working on my tutorial that introduces camel piece by piece so now i was turning my webservice application to use camel for storing the content as files etc. but my unit test failed as i only uses camel-core.jar |
10:43 |
<jstrachan> |
yeah; its kinda so easy with maven to accidentally add hard-dependencies rather than optional dependencies |
10:43 |
<jstrachan> |
I guess we need more test cases that just use camel-core and no spring |
10:45 |
<davsclaus> |
yep, todays modern framework just grap a insane load of jars. cxf + camel-core has 44 jars in my very simple demo app |
10:45 |
<jstrachan> |
yeah! |
10:45 |
<jstrachan> |
cxf has crazy numbers of dependencies :) |
10:46 |
<davsclaus> |
when its transparent people probably get careless |
10:47 |
<jstrachan> |
yeah |
10:47 |
<jstrachan> |
we need better tooling to trim pom dependencies etc |
10:47 |
<jstrachan> |
its easy for a dependency to pull in tons of stuff |
10:47 |
<jstrachan> |
e.g. commons-logging can bring in log4j + commons-logging + avalon + other stuff! |
10:48 |
<davsclaus> |
yep sure does. and its kinda hard to know all the scopes and what they are used for |
10:48 |
<davsclaus> |
maven isn't documented very well |
10:48 |
<jstrachan> |
yeah |
10:49 |
<davsclaus> |
and then the fear is that if its to be deployed on IBM websphere on IBM JDK then some strange shit can hit the fan - and with XX to many jars. Damm! |
10:49 |
<jstrachan> |
:( |
10:50 |
<davsclaus> |
just to convince operations that wsdl4j-1.6.1.jar should be put in jre/endorsed/lib will take it toes. operations is outsourced so they are pretty strickt! |
10:50 |
<davsclaus> |
yep not everyone can avoid the beast and jump on the osgi wagon |
10:50 |
<jstrachan> |
yeah! |
10:54 |
<davsclaus> |
i was wondering in the new flatpack code: DataSetList. 1) in the size method why you can't use return dataSet.getRowCount(); instead? |
10:54 |
<jstrachan> |
DOH! |
10:54 |
<davsclaus> |
2) and the get: dataSet.absolute(index); return FlatpackConverter.toMap(dataSet); |
10:54 |
<jstrachan> |
didn't see that! |
10:54 |
<jstrachan> |
oh I missed hte absolute(index) too! |
10:54 |
<jstrachan> |
oh thanks! |
10:54 |
<jstrachan> |
DataSetList is a bit sucky :) |
10:55 |
<davsclaus> |
yep i was looking into charles problem with his header/trails. |
10:55 |
<davsclaus> |
you can get the data in net.sf.DataSet and there is a method. IsHeaderId or something where you can test if its the header/trails by its id |
10:55 |
<jstrachan> |
yeah - btw its unfortunate the implementation of Splitter (which uses Multicast) that it iterates first, builds up a list, then processes them |
10:55 |
<jstrachan> |
so I kinda had to make a List of Maps rather than pass around the DataSet |
10:55 |
<jstrachan> |
which is a shame |
10:56 |
<jstrachan> |
but hopefully we could have a proxy object maybe that refers to 'row X in dataset' that lets you access the dataset if you need it etc |
10:56 |
<jstrachan> |
ah cool |
10:56 |
<davsclaus> |
ah great idea |
10:57 |
<davsclaus> |
you want to fullblown DSL with the splitter() - that is pretty neat but probably not the first though for camel medium/new users ;) |
10:57 |
<jstrachan> |
I noticed that the createIterator() we use in different places (e.g. Splitter()) should really use the Type Conversions - then we can have a DataSet -> Iterator converter method etc |
10:57 |
<davsclaus> |
well we have plenty time to create a good solution in 1.5 |
10:57 |
<jstrachan> |
yeah :) |
10:58 |
<davsclaus> |
Ah your precious type converter it can do marvelous stuff! |
10:58 |
<jstrachan> |
:) |
10:58 |
<jstrachan> |
yeah! |
10:58 |
<jstrachan> |
one of my favourite bits of camel :) |
10:58 |
<davsclaus> |
btw when talking about type convert, we need it to be smarter so it can access somekind of exchange context = for instance a encoding configuration for byte encoding - we have a jira ticket for it. |
10:59 |
<davsclaus> |
also I guess your tracer need somehow to know who was the "from" node |
10:59 |
<jstrachan> |
yeah |
11:00 |
<jstrachan> |
for the type converter stuff, I was wondering if the 2nd method parameter could be the Exchange/Message |
11:00 |
<davsclaus> |
CAMEL-115 : I was hopeing one of you smart people would pave the road and the rest of us could finish it ;) |
11:00 |
<jstrachan> |
:) |
11:01 |
<davsclaus> |
Wouldn't we need some <property> tag for global /route specific properties, that the exchange / type converters / etc. can reach |
11:01 |
<davsclaus> |
then you can have local encoding settings etc. kinda like your errorHandlerRef |
11:01 |
<davsclaus> |
but for properties |
11:03 |
<jstrachan> |
yeah - I wonder if for type converters we might wanna set the local type converter for some routes; where you can customize or register some converters |
11:03 |
<jstrachan> |
so we'd have a global type converter but we could customize some converters/translators in specific routes/contexts |
11:04 |
<jstrachan> |
there's nothing to stop us having a bean which is-a transformer that uses a type converter registry that lets folks register custom tranformers or something |
11:04 |
<jstrachan> |
<convertBodyTo type="Document" registryRef="someCustomRegistry"/> etc |
11:05 |
<davsclaus> |
ah pretty sweet |
11:05 |
<davsclaus> |
btw the 2nd parameter as Exchange is a good idea, or if it can bind the parameter to the type Exchange then it will do it |
11:06 |
<jstrachan> |
there's normally a default type converter thingy on the camelcontext but it'd be easy to provide custom ones where required |
11:06 |
<jstrachan> |
yeah |
11:08 |
<davsclaus> |
CAMEL-84 is also a little issue that is a troll |
11:10 |
<davsclaus> |
something with return null is "handled special" when a type convert is to be found - cant rember exactly. but the end-users doens't get a good decent exception message that a sutiable type converter could not be found |
11:12 |
<jstrachan> |
yeah |
11:56 |
<davsclaus> |
okay when hadrian come along, we are ready to build a new RC |
12:00 |
<jstrachan> |
great! |
12:01 |
<gertv> |
jstrachan, davsclaus: I still have some outstanding refactorings to camel-scala -- was waiting to commit them until after the RC |
12:02 |
<gertv> |
but since the new one isn't built yet, shouldn't I just go ahead and put them in as well? |
12:02 |
<jstrachan> |
go for it I'd say! |
12:03 |
<davsclaus> |
you are the scala expert, and its marke for work in progress. |
12:03 |
<davsclaus> |
so +1 just as it compiles and the unit tests passes ;) |
12:04 |
<davsclaus> |
its a bit to soon for saying that scala is feature complete and end-users should use it for production .. or whats your point gertv? |
12:04 |
<davsclaus> |
and we don't want to postpone the release because of a new RC |
12:05 |
<gertv> |
no, definitely not -- it was just waiting because it wasn't building/testing ok before the previous rc |
12:05 |
<gertv> |
just finishing it now though |
12:06 |
<davsclaus> |
no worries - hadrian said he will cut the RC today |
13:14 |
<hadrian> |
hadrian started the rc5 build |
13:17 |
<jstrachan> |
jstrachan cheers |
13:20 |
<gertv> |
hadrian: yay! lets's hope this will be the one... |
13:20 |
<hadrian> |
who gives a -1 builds the next kit :) |
13:24 |
<jstrachan> |
;) |
14:43 |
<davsclaus> |
great hadrian has created the RC5 |
15:00 |
<davsclaus> |
he he if you stop the camel context from the jmx console and the app was started with mvn camel:run => camel.spring Main then it will wait forever ;) |
15:01 |
<davsclaus> |
waiting at: at org.apache.camel.spring.Main.waitUntilCompleted(Main.java:499) |
15:01 |
<davsclaus> |
well just trying the RC5 ;) |