Spring.net NMS vs Apache NMS - activemq

I was looking using ActiveMQ and I found that spring.net has it's own NMS library and so does the Apache community
http://www.springframework.net/doc-latest/reference/html/nms-quickstart.html
http://activemq.apache.org/nms/nms-api.html
Does anyone know anything about them?

Spring.NET is using the Apache.NMS libraries underneath, just like the regular Spring JMSTemplate etc uses watch JMS provider you configure. From what I recall the Spring.NET release is using an older version of NMS.ActiveMQ by default. So if you want to use the most up to date ActiveMQ .NET library than you'd have to go with straight Apache.NMS.ActiveMQ or figure out how to wire in the alter libs into the Spring.NET stuff.

Related

How do I use ActiveMQ in Apache Flink?

I am getting my data through ActiveMQ which I want to process in real time with Apache Flink DataStreams. There is support for many messaging services like RabbitMQ and Kafka but I can't see any support for ActiveMQ. How can I use it?
Since there is not support for ActiveMQ, I would recommend implement a custom source.
You basically have to implement the SourceFunction interface.
If you want to have exactly-once semantics, you can base your implementation on the MultipleIdsMessageAcknowledgingSourceBase class.
I would recommend you to start with implementing a SourceFunction
Found a JMS connector for Flink:
https://github.com/jkirsch/senser/blob/master/src/main/java/edu/tuberlin/senser/images/flink/io/FlinkJMSStreamSource.java

Weblogic 12.1.3 CDI Transactional

Is there any additional configuration that needs to be done in order to enable CDI JTA Transactions using #Transactional annotation under CDI beans with Weblogic 12.1.3 server?
I have tried to just add the annotation into a service method, but EntityManager didn't recognize to be running under a transaction.
Is there any interceptor or something else that needs to be registered?
#JoshAment is right.
WebLogic 12.1.3 only partially supports Java EE 7 (it supports its four pieces: JPA 2.1, JAX-RS 2.0, JSON-P 1.0, WebSockets 1.0). But #Transactional is a part of JTA 1.2.
Right now only Liberty Profile is fully certified against Java EE 7.
The planned year-end WebLogic 12.1.4 is going to support it also.
Anyway, answering your question: just configured persistence.xml should be enough to use the #javax.transaction.Transactional annotation in your code.
// You may also consider to move away from Java EE 7 ;) then you would be able to freely choose whatever lib you want. I strongly believe that server itself should not provide anything except servlets.

Is there a way to configure MDBs programatically?

I am currently working on a EJB 3.1 based project running on GlassFish that uses a custom built framework to configure the functionality of any SessionBeans. Using this we can enable, disable and re-configure most of the services at run-time. Unfortunately we can't extend this to support conifguration of MDBs. I would like to set the selector a MDB is using based upon the configuration information and re-configure this if the settings change.
Unfortunately I could only come up with a SessionBean that creates MessageConsumers natively on the JMS Sessions based upon the configuration and to have the JMS messages handleb by MessageListeners, but I was told this way we would be loosing concurrency and the transaction handling of the EJB system, as we would no longer be using MDBs this way.
So is there any way to do what I'm looking for using MDBs? Someone told me there are some planned extensions in new EJB and JMS spec drafts, but I couln't find a pointer to that particular topic.
No, MDBs are configured by the Deployer at deploy-time.
Similar question answered here: Configuring MappedName annotation in Message Driven Bean dynamically

ActiveMQ support for ebXML as message broker

Currently I am researching open source message broker technology that can provide support for ebXML I would like to use Apache ActiveMQ.
I will be looking at supporting Oasis ebXML AS4 specification.
My question is, does Apache ActiveMQ as a JMS broker offer adequate support for ebXML, in particular ebXML 3 AS4?
Are there any alternative open source message broker technology more suited to ebXML?
Lastly is there a .NET interface library to support ebXML support via ActiveMQ?
Thanks in advance,
Marcus
What do you mean by "support"?
Apache ActiveMQ is a messaging component. It does not really care about the content in the messages, but should merly be seen as a transport channel.
Apache Camel comes bundle with ActiveMQ do support XML (parsing, transforming), but not ebXML explicitly.
Typically, explicit support for these industry standard EDI formats are rarely implemented in open source middleware. There might be some old java library open source out there ( ebXml OpenSource java implementation ), but nothing very active, unfortunately.

DOSGI Support in Glassfish

I am using OSGI with Glassfish 3.0.1.We use Jersey REST as the resource layer. We have lots of osgi services. we are planning to decouple them & deploy it in a cloud. One way we do this is by doing a http REST call. But we would like to do service to service call at the api level. One way to do this is by using DOSGI. But Glassfish 3.0.1 doesn't seem to support DOSGI. Any other suggestions?
I believe that Glassfish contains Apache Felix, which is a fully compliant OSGi Framework. Therefore you do not need explicit support from Glassfish in order to use a set of bundles that provide Remote Services (the name "DOSGI" is now deprecated). Indeed, this is kind of the point of OSGi!
Anyway the next obvious question is which Remote Services implementation to choose. I would advise you NOT to use CXF since it is too buggy and unmaintained. That leaves Eclipse ECF or Paremus RSA.
(Disclaimer: the Paremus implementation is commercial and I work for Paremus).