<< 17-July-2008 : hausbot on #camel at codehaus [download] [back] >>
 
 
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 ;)

Drone v1.4 © 2002-2005 Uwyn RIFE powered