activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From semog <e.se...@gmail.com>
Subject Re: NMS Provider for Tibco EMS?
Date Wed, 03 Oct 2007 19:01:34 GMT


Hiram Chirino wrote:
> 
>> distribution.  This DLL would just be a stand-in so that the project can
>> compile/link successfully. For those that actually use TIBCO, they will
>> just drop in the real assembly, and be good to go.  What do you think of
>> that?
>>
> 
> Seems like a headache..  I think your project should only build if
> folks explicitly build it.  lets get your stuff in ASAP and then we
> can refactor the whole project/solution stuff so that they are more
> separated from each other.  Yes, it makes building everything more
> complicated since you have to run multiple builds but the upside is
> that you only have to build what you need and have actual dependencies
> on.  Also it will make versioning each module independently possible.
> 

Yeah, it is a headache.  Refactoring the solutions sounds easier.  I'll
leave
that part to you to fix up.


Hiram Chirino wrote:
> 
> I'd like like the NMS module to hardly ever change I want to release a
> 1.0 soon of it, and hope we never have to do a 1.1.  A stable
> interface definition like that will encourage folks to do more
> implementations of it.  So, because of that.. I'd rather not put
> implementation helper classes there.
> 
> I don't mind copying code across.  Yes, code duplication sucks.. but
> to end users un-needed dependencies suck more.  So I'm all for what
> you've done.
> 

I completely agree with not exposing implementation classes.  That's why I
went
for the code copying option for those.  However, I think the ITrace
interface
is different, which is why I moved it into the NMS project.  It is a
callback
communication interface for clients to implement their own logging of trace
status
or errors that occur deep inside a provider.


Hiram Chirino wrote:
> 
> +1000 Awesome.. we just did not know a good way to do the dynamic
> implementation discovery stuff in .NET.  Btw I would not mind if the
> activemq urls looked like activemq:tcp:// with the generic NMSFactory.
> 
> I figure if you want to use a tcp:// looking URLs then you will use
> the ActiveMQConnectionFactory,
> 

The current implementation is that anything that is not specifically Tibco
or MSMQ will default to the ActiveMQConnectionFactory.  If the
implementation
changes to use an external configuration file, then it seems logical that
every scheme/provider mapping will have to be explicitly defined.  For
example:

[Scheme -> Provider Mappings]
<schemes>
	<scheme name="tibco" classFactory="Apache.TibcoEMS.ConnectionFactory"
assembly="NMS.TIBCO.DLL"/>
	<scheme name="msmq" classFactory="Apache.MSMQ.ConnectionFactory"
assembly="NMS.MSMQ.DLL"/>
	<scheme name="stomp" classFactory="Apache.ActiveMQ.ConnectionFactory"
assembly="NMS.ActiveMQ.DLL"/>
	<scheme name="tcp" classFactory="Apache.ActiveMQ.ConnectionFactory"
assembly="NMS.ActiveMQ.DLL"/>
	<scheme name="failover" classFactory="Apache.ActiveMQ.ConnectionFactory"
assembly="NMS.ActiveMQ.DLL"/>
</schemes>

If we go with the more generic suggestion of having ActiveMQ URIs use the
activemq: prefix, then the last three entries would be replaced with the
single
entry of:

	<scheme name="activemq" classFactory="Apache.ActiveMQ.ConnectionFactory"
assembly="NMS.ActiveMQ.DLL"/>

Anyway, it's something we can look at and come up with a solution.

BTW, I saw your comment requesting a faxed copy of license grant since this
is such a large contribution.  I printed it out and passed it on to my
manager.
I don't think there will be any issues with that.  The only question we had
was how would you like us to detail the contribution?  Should we give it a
generic name like "TIBCO NMS Provider Implementation", or would you like us
to list out the filenames individually?

- Jim

-- 
View this message in context: http://www.nabble.com/NMS-Provider-for-Tibco-EMS--tf2480565s2354.html#a13025655
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.


Mime
View raw message