<< 26-August-2008 : hausbot on #servicemix at codehaus [download] [back] >>
 
 
time nick message

07:11

<gaginn>

gertv: hi

07:11

<gaginn>

i send to you new patchtes

07:12

<gaginn>

can you recommand me any implementation of jms ?

07:13

<gertv>

sure, just send the patches along

07:14

<gertv>

for the JMS based implementation, I would suggest you create an AsynchronousAbstractAuditor base class to encapsulate the asynchronous auditing

07:14

<gertv>

for now, let's just try to serialize MessageExchanges to the JMS queue and deserialize on the other end

07:15

<gertv>

we will probably have to improve on that, so you can avoid serializing stream based XML messages

07:15

<gertv>

if the user chooses not to have the payload

07:15

<gertv>

because serializing those would require the entire stream to be loaded into memory

07:15

<gaginn>

but jms isn't in jdk... it's in j2ee

07:16

<gertv>

yeah, but ServiceMix comes with ActiveMQ, which is a full-blown JMS broker

07:16

<gaginn>

i must use some jar library

07:16

<gertv>

so we can use that

07:16

<gaginn>

ok

07:41

<gaginn>

gertv: Do you have any problem with your e-mail address gert.vanthienen@skynet.be?

07:41

<gertv>

gaginn: I suppose so since you are asking about it ;)

07:41

<gertv>

not to my knowledge though

07:44

<gaginn>

ok.. i wait and then I will send it agagin

07:44

<gertv>

what message do you get?

07:44

<gertv>

is it perhaps too large a mail?

07:45

<gaginn>

i will send it again..

07:45

<gaginn>

it's very short

07:57

<gaginn>

gertv: you mean to create AsynchronousAbstractAuditor abstract class with 2 methods serialize and deserialize and then create AsynchronousAuditor, which will be implements these methods?

07:58

<gertv>

gaginn, no I rather mean the AsyncAuditor should handle the serialize/deserialize and call some method asynchronously

07:58

<gertv>

so the class inheriting from Async...Auditor can just do the auditing, without having to worry about the async stuff whatsoever

07:59

<gertv>

we'd just have a callback method there, similar to the ones we are using now (the exchangeSent() and exchangeAccepted() ones)

08:00

<gaginn>

so, then i must create class serializer, right?

08:01

<gertv>

no, we already have that implemented for MessageExchanges

08:03

<gaginn>

So, this class is somewhere in SMX? do you know its name?

08:09

<gaginn>

So, AsynchronousAb..Auditor is something like jcrAuditor, but asynchronous, ok? so AsynchronousAb..Auditor must to inherit AbstractAuditor from SMX, ok?

08:10

<gertv>

yeah the Async auditor extends from AbstractAuditor

08:11

<gertv>

and our JcrAuditor can extends the Async auditor

08:12

<gaginn>

ok, now i think i understand..

08:12

<gertv>

for the serialization, this is implemented on MessageExchange

08:13

<gertv>

so you should be able to just do something like session.createObjectMessage(exchange)

08:46

<gaginn>

what about creating SynchronousAuditor and Jcr auditor will extends Synchr.. on Asyn.. ?

08:46

<gertv>

what would the synchronousauditor do then?

08:46

<gaginn>

because I need session in Asynchr...

08:47

<gaginn>

and session is in jcrAuditor now

08:48

<gaginn>

it offers session for child

08:48

<gaginn>

and maybe also another methods, which i need implement in Asynch..

08:49

<gaginn>

it means remove from JcrAudotir

08:49

<gertv>

no, just make the JcrAuditor extend Async...Auditor

08:50

<gertv>

and move what's now in the exchangeSetn() method to the async auditor's equivalent method

08:50

<gaginn>

so hierarchy will be: abstractAuditor -> Asynch. -> JcrAuditor. right

08:50

<gaginn>

?

08:53

<gertv>

yep

08:56

<gertv>

and you can add two abstract methods on the async auditor (something like onExchangeSent() and onExchangeAccepted())

08:56

<gertv>

that are the async equivalent for exchangeSent() and exchangeAcceptd()

08:58

<gnodet>

gertv: can you build the utils project ? it seems to be missing the stax api somehow

08:59

<gertv>

I could yesterday -- let me try to check it out here (at a customer's today) and give it a try

09:03

<gertv>

gertv is waiting for Maven to download the entire internet

09:08

<cvdstap>

interesting, servicemix notices changes in the conf dir as well

09:09

<gertv>

gnodet: works for me here

09:10

<gertv>

gnodet: are using JDK 1.5 perhaps -- that might be the reason it works for me (1.6 here)?

09:11

<gnodet>

yeah maybe, let me add the needed deps

09:12

<gaginn>

gertv: i didn't find method createObjectMessage or similar in session.

09:14

<gertv>

sure you can : http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/jms/Session.html

09:16

<gaginn>

but session, which we use are from javax.jcr

09:17

<gertv>

no, this is the JMS session you'll use to the send the MessageExchange to the queue

09:17

<gaginn>

of course, im sorry...

12:13

<tong>

oh.

12:13

<tong>

so many people

12:13

<tong>

gertv, is here?

12:19

<tong>

http://architects.dzone.com/articles/pattern-based-development-with-0

12:19

<tong>

the article is in servicemix website

12:20

<tong>

I can't download the code about the article. who have the code

12:27

<gertv>

tong: hi, I can download the source from http://www.esbinaction.com/files/dzoneservicemix.zip here

12:27

<tong>

i feel the example is very good

12:27

<tong>

but i can't download

12:29

<tong>

so disappointedly

12:31

<tong>

do you hava other example that complexed .in addition hava illumination

12:36

<tong>

gertv: can you send the code to my gmail.

12:36

<tong>

zhaoyta@gmail.com

12:56

<tong>

i didn't recieve the correct email.but receive a warning email

12:56

<tong>

the email you send was hold back

12:56

<tong>

nterScan Messaging Security Suite has detected a message which violated the security settings configured in Policy > Scanning Exceptions.

12:57

<tong>

The message was quarantined. You can find out more about this event by querying the Policy Event logs for Scanning exceptions.

12:57

<tong>

what is the meaning

12:59

<tong>

http://cwiki.apache.org/SM/discussion-forums.html#nabble-to19143016|a19143476

13:00

<tong>

you kan reply the anwser and attach the attachement

13:31

<lhein>

gertv: how can I register a JCR like JackRabbit into smx jndi ?

13:31

<gertv>

just add it to the jndi.xml

13:32

<lhein>

can u give me an example...I am a bit confused

13:32

<gertv>

what are you trying to do?

13:32

<lhein>

I want to use for example camel jcr to save and load things to and from jackrabbit

13:33

<lhein>

therefor I wanted to have JackRabbit being accessable via JNDI

13:33

<gertv>

if you want to use camel jcr, you can register the repository as a bean in the camel-context.xml

13:33

<lhein>

I know, but I didn't found how to register it in JackRabbits documentation

13:34

<gertv>

ah, ok, will you be using the RMI client to connect to a remote server?

13:34

<gertv>

or is it an embedded server inside the Camel SU

13:34

<lhein>

I thought about just grabbing the repository object via JNDI lookup

13:35

<gertv>

yeah, but where is the repository running?

13:35

<lhein>

standalone somehow

13:35

<lhein>

good question

13:35

<lhein>

:(

13:36

<gertv>

you can either have it embedded (like embedding Apache Derby as an SQL server)

13:36

<gertv>

or you can have a repository running somewhere and you want to connect to that one

13:36

<lhein>

later one I think is more flexible

13:37

<gertv>

well, if you look at http://svn.eu.apache.org/viewvc/servicemix/sandbox/.../README.TXT?view=markup, you'll find an example for a remote connection

13:37

<gertv>

you first have a bean for the RepositoryFactory

13:38

<gertv>

and next you have a bean that creates the repository from the factory

13:38

<gertv>

if you add this to the camel-context.xml, you'll be able to use jcr://user:password@JcrRepository/...

13:41

<lhein>

hmm...somehow I am still not sure what I need to do now

13:43

<gertv>

well, if you need these two beans in your camel-context.xml

13:43

<gertv>

those define the connection to the JCR repository

13:45

<lhein>

well...forget camel for a while.

13:45

<gertv>

you can use the name of the repository bean as the repository name in the camel component

13:45

<gertv>

ok

13:45

<lhein>

I want to setup a JCR and be accessible via JNDI

13:46

<lhein>

so my first thought was that I need to put something into the conf/jndi.xml file

13:46

<lhein>

not sure so far if I am correct

13:46

<gertv>

you need to put the exact same things in the conf/jndi.xml

13:46

<gertv>

just add an <entry/> with a key and reference the repository <bean/>

13:47

<lhein>

yep...and thats the point now...I really have no idea what exactly to put there

13:47

<lhein>

I found something in the net: http://www.mibbit.com/pb/RtBegC

13:48

<lhein>

so I expected that I have to create a bean class which does the code above

13:49

<lhein>

I am somewhat confused now :D

13:52

<gertv>

that creates another InitialContext

13:52

<gertv>

we already have one in ServiceMix

13:52

<gertv>

I suppose you want to put your Repository object in that one, right?

13:52

<lhein>

yep, but til now I do not have such a repo object

13:53

<lhein>

maybe it's more simple to have it embedded

13:53

<gertv>

yeah, and that's what the two <bean/> tags in the README.TXT file are about

13:54

<lhein>

ok

13:54

<lhein>

and how can I access the repo then?

13:54

<gertv>

to have a transient, embedded instance just use TransientRepositoryFactory instead of the RMI one

13:55

<gertv>

you get the repository object from JNDI and you open a session from it

13:55

<lhein>

ok

13:55

<lhein>

so there will be no need to have an extra bean for the repo

13:55

<lhein>

?

13:56

<lhein>

just using these 2 entries?

13:56

<gertv>

an extra bean where?

13:56

<lhein>

no, forget it....there will be no need

13:56

<lhein>

I will do some testing now...thanks for the assistance, gert

13:57

<gertv>

np, just let me know if you need any more help

13:57

<lhein>

ok, thanks

Drone v1.4 © 2002-2005 Uwyn RIFE powered