More GMail accounts for BizTalk Server people

Published 01 October 04 01:12 PM | christof claessens

As appearantly everyone is eagerly looking for a gmail account, I will give away a few more.  (At least, my previous blog makes me think that :-))

I'll invite to gmail, the first 5 people who can tell me why I implemented my streaming pipeline component using multiple threads instead of just one :-p.

[Yes, that's right :-)  You'll have to read the article on custom pipeline processing for this one :-))))))))))) ]

P.S. Make sure you include your name and current emailaddress in your comment as I need these to invite you.

[Update: I've invited the people who responded.  If you don't receive your invitiation, please let me know.]

Filed under:

Comments

# colin_rippey@hotmail.com said on October 1, 2004 08:23 AM:

"CloningStreamSplitter's implementation will require that both the cloned stream and the original stream will be read by two different threads. One of those threads will be the thread the next pipeline component will use to read the original data stream with, while the other thread is up to us to choose.

Since the execute method's purpose is to return the result message the next component has to act on, we can't afford to block the current execute method's calling thread... So the only option left is to create a kind of processing/worker thread."

Do I get an invite :-)

# Carlo Poli said on October 1, 2004 08:26 AM:

Well, let's give it a try.

You get a forwardonly stream as input. You could read it, but then you need to create a new stream for output. To avoid this you create a cloned stream. To avoid blocking the main thread that handles the main stream, you fire a seperate thread that parses the cloned stream. At least, that's how I understood it ;-).

You can reach me at carlopoli at hotmail dot com.

# Robert Rijsdijk said on October 1, 2004 08:59 AM:

To avoid blocking(overriding) the main thread that handles the main stream (orgininal) create a new thread that parsed the cloned stream.

Assume two threads :

the "originaldatathread", reading and consuming the original data stream (or at least: our implementation's proxy to the original data stream)
the "cloneddatathread", reading and consuming the cloned data stream (which will be our own stream implementation)

You can reach me at robert_rijsdijk@hotmail.com

Thanks Christof...

# Carlo Poli said on October 1, 2004 09:03 AM:

I just reread the article and it looks like I'm a little off, and since I don't want to drop out on the details, here's an more accurate description.

You implement a streaming component that limits the amount of memory used to store the data. The main thread that handles the stream will be called from subsequent components in the pipeline. To avoid blocking it you fire a seperate thread that uses a cloned stream. The cloned stream is kept in sync with the original stream and is used to parse the data that will be added as promoted properties.

Or I could have copied bits of the article, but was too easy. Nice article BTW ;-)

# Peter Stuer said on October 1, 2004 09:50 AM:

Because you thought using virtual streams (as suggested in http://www.gotdotnet.com/team/wsservers/bts2004/BTS2004AdapterDevGuide.zip ) was too hackish, inelegant, brute-force or not in true streaming spirit?

:-)

pstuer@vub.ac.be (don't worry, this adress is so old that I don't think there is a spam distribution list still misses it)

# Patrick Wellink said on October 4, 2004 01:46 AM:

Hmm,

I posted your article as a reply on an article Charles Young has written on his blog, maybe you can shed some more light on his problem...

But you gave the answer yourself : here it is....

Since the execute method's purpose is to return the result message the next component has to act on, we can't afford to block the current execute method's calling thread... So the only option left is to create a kind of processing/worker thread, responsible for:

You can reach me at : well0549 at hotmail dot com

# Charles Young said on October 6, 2004 05:18 PM:

...and I was very grateful for the link. Thanks Patrick. Incidently, I have replaced my original article with a new one that provides a rather better explanation of the two er,...features...that we have discovered in receive pipelines. One of them is a bug in the messaging engine that prevents in-bound maps working over seekable streams. The other turns out to be a straightforward logical error in the Xml Disassembler that can lead to BizTalk endlessly calling GetNext(). The article includes the beginnings of some general guidelines on good pipeline component design and practice, and refers directly to Christof's stream splitting technique. Hope you don't mind me using your blog for free advertising, Christof :-) The new article is at http://geekswithblogs.net/cyoung/articles/12132.aspx

# Christof said on October 7, 2004 01:55 AM:

I don't mind Charles! I didn't have the time to look at it yet, but I certainly will as soon as I'm able to. Keep up the good work. I'll remember to use yours as I ever need advertising ;-) - I don't know if you participate in the Bloggers Guide to BizTalk but if you don't: please consider it :-)

Best regards!!

# Mike Fagan said on October 19, 2008 12:49 PM:

Where can I get sample code for the CloningStreamSplitter? Please email at michal.fagan@lmco.com

# Inenceexhance said on February 18, 2009 08:09 PM:

Hey Guys My name is Sarah

Does anyone know anything about blackhat stuff? I found these sites and these people are have proof of making over $900 a day from some these Black hat methods. What do you guys think about this.

<a href=http://www.moneymakerdiscussion.com>  Click Here Now To Learn More!  make money online forum </a>

<a href=http://www.myfreemoneyforum.com>  Or Go Here! liberty reserve</a>

# Inenceexhance said on February 20, 2009 03:42 AM:

Hey Guys My name is Jimmy

Does anyone know anything about blackhat stuff? I found these sites and these people are have proof of making over $900 a day from some these Black hat methods. What do you guys think about this.

<a href=http://www.moneymakerdiscussion.com>  Click Here Now To Learn More!  make money online forum </a>

<a href=http://www.myfreemoneyforum.com>  Or Go Here! hyip</a>

# albuterol sulfate said on September 4, 2010 01:58 PM:

Hi there, I address oneself to up your blog via Google while searching destined recompense senior grant-money representing a generosity rebuke and your execution looks really stimulating in support of me

Leave a Comment

(required) 
(required) 
(optional)
(required)