|
Attached servicemix-smpp.tar is new SMPP binding component which should be copied under src/deployables/bindingcomponent directory. It will create servicemix-smpp component which has two endpoints.
1. SMPPSenderEndpoint : Sending SMS using SMPP protocol For more information, see the package.html under servicemix-smpp/src/main/java/org/apache/servicemix/smpp directory. apacheservicemix/src/deployables/bindingcomponent/pom.xml must be modified to include servicemix-smpp as a module to be included. Attached servicemix-components.tar file includes SMPP binding component related source code which should go into apacheservicemix/src/common directory. It includes SMPPPoller and SMPPSender endpoints.
Please find attached here smpp_sample which should go into src/samples directory. It includes SMPP Service Unit and SMPP Service Assembly.
This contribution can't be integrated into ServiceMix directly due to licensing issues. The used dependency "smppapi" is licensed under the LGPL license. (see: http://www.apache.org/legal/3party.html
I created a separate project for hosting such components. I already reworked most of your contribution to make the component fully JBI compliant. You can download the component here: Just drop it to the hotdeploy folder. Hi Lars,
If it is not going to Apache, please remove these code from google code. I don't want to contribute. Thx. – Hi Rohit !
We would love to include it at apache, but due to the ASF licensing policy (see http://www.apache.org/legal/3party.html Also, note that Lars did a pretty big refactoring of the code you contributed to make it a standard JBI component instead of a lightweight component. That said, if you really don't want to contribute it in some form or another, we'll remove it from the google code project. Guillaume,
thanks for your quick response. I would love to contribute to apache as we have been using apache web server. So if we can include in apache, that would be good. I have submitted three attachment which includes lightweight component, Try if we can including in apache. Thx. – I'm very interested in a smpp component for servicemix. What's the status?
I can't download the attachements. They are in the svn repo? Thx, I submited smpp component but it was not accepted due to itvhad smpp
library with lgpl license. Sent from my iPhone On Jan 8, 2009, at 12:24 PM, "Christian Mueller (JIRA)" This component has been reworked from the contribution of Rohit. Due to some license problem with the smppapi library which is under LGPL license and not compatible with our licensing we were not able to integrate it directly into ServiceMix.
Because of that I initially moved the component to the Google Code project mentioned above. You can also download a first version there for testing purpose but be warned that I never tested it after the rework. We want to move this component back into the ServiceMix repo as soon as it gets a replacement for the smppapi library. I had a first look at the jsmpp library also hosted at Google Code if it is fullfilling our needs but currently I haven't got the time to finish my work. If someone wants to volunteer for this work please have a look at: This is the current state of the component with the new jsmpp library. It is currently not working and may even not compile (don't know exactly because I haven't worked at it for several weeks). Feel free to provide patches if you got it working. Regards I make a look on it and keep you informed about the progress.
I looked at the source code in the snapshot code. It still uses opensmpp
library calls and that's the reason it doesn't work. I will try to work on it this weekend if time permits. Due to the poor performance of Apahce Ode in ServiceMix , we had to choose Glassfish/OpenESB solution so I stopped working on this binding component and had to write one for OpenESB. On Fri, Jan 9, 2009 at 3:16 PM, Jean-Baptiste Onofré (JIRA) <jira@apache.org – To be compatible with Apache 2.0 license, I will commit a SMPP component that use jsmpp :
http://code.google.com/p/jsmpp/ I hope to be able to send the component source code tomorrow (sunday) evening. Lars, are you OK if the bug is assigned to me ? Of course, JB.
As I already told you, the code is not compilable atm. because I just switched the lib to jsmpp and then started looking at what to change. Regards Thanks for the quick answers.
I still waiting for the new version and will test it, if you finish your work. Let me know, if you need any assistance... Regards, Ropen the issue to implement the component using jsmpp (Apache 2.0 compatible).
I have begin to implement the component using jSMPP. I need more time to work on it but you can see the current source code here :
http://svn.nanthrax.net/servicemix-smpp/trunk/ I will make a new commit this evening (french time). The core component is complete but I need to validate it with JUnit (especially around the TON and NPI).
Hello Jean-Baptiste,
I'm happy with the progress of this smpp binding component and I have played I will give you some feedback for further improvements:
I hope my feedback is welcome and helpfully... Regards, Hi Christian,
thanks a lot for your feedback. Concerning the sl4j dependency, yes, it's a mistake. I will correct this evening. For now, the jsmpp is on my maven repository (I will add the sl4j this evening). Concerning the MEP, I have add only In-Out only on the component. But I'm agree with you that In-Only is used most of the time. I will add a both MEP property on the endpoints and support new endpoints required methods. I have add a set of unit tests : marshaler transformation, component itself, xbean deployment, etc. I haven't completed yet all tests that's why it's not in unstable I will keep you posted soon about the JUnit test results. Regarding your feedback, I will add new JUnit tests to reproduce your use cases. Thanks a lot for your tests !! Hi Jean-Baptiste,
I'm not sure, whether a MEP property is necessary in the I fixed the problem I had with the In-Out MEP:
Regards, Thanks again Christian for this patch set.
I merge on my SVN repository and resume unit tests. I have deployed slf4j on my maven repository too. Commit changes right now. I added the current state to smx repository after fixing some of the classes.
In future it would be nice to have patches for that version so updating the component is easier for committers. Regards Hi Jean-Baptiste,
thanks, I got the svn repo updates (revision 20).
I hope you agree with my changes... Regards, Hi Christian,
In response to your comment :
Thanks Regards As Lars has commited the SMPP component on the ASF SVN repo, now I will submit patches (not yet use my svn repo).
@Lars : concerning the jsmpp maven repo, do you think that we can store on the ASF one ?
--> There are other components using Poller and Sender...so no need to change it imho.
--> see above
--> well. You are right here but if someone tries to put a class in here which is not
--> well...the naming is not really the best because it makes you think it overrides the process method from
--> that sounds interesting. But as a first step the InOnly would be enough. Just imagine what happens when
--> see above Thanks for the input Christian. Please refer to the official version in the ASF repo in future because it makes it easier to Regards After some rethinking it would be maybe better to use the naming strategy Christian suggested.
Hello Lars, hello Jean-Baptiste,
sure, in future my patches will refer to the official version in the ASF Regards, Hi Lars, hi Jean-Baptiste,
Today, I fixed the 'SpringComponentTest'
Regards, I also fixed the SmppXBeanDeployerTest:
Regards, Hi Lars, hi Jean-Baptiste,
what should be the next steps? I have the following on my TODO list:
Regards, And one change more:
Regards, Christian,
I would think your TODO is fine but you should talk with Jean about that because he has the issue assigned. Regards Hi Lars,
with the patches, I provided yesterday, all unit tests pass. Christian Christian,
I have applied the 3 patches from yesterday...same result...test results in 2 failures. I updated the asf sources of the component. feel free to check out and re-test. Sorry guys, I'm with a customer today. I will update and test this evening.
Regards Christian, concerning the TODO list, I'm quite agree (and some are already planned).
Hi Lars hi Jean-Baptiste,
Thanks. Yes, the 'SmppXBeanDeployerTest' and 'SpringComponentTest' tests are Also, I'm agree with you, we should provide 'real' unit tests with a mock Jean-Baptiste, on which todo's you plan concrete to work? Because the I would like to start with the unit tests for SmppConsumerEndpoint and Do you have a prefered mock library? I'm familiar with And one more feature would be useful for our clients. Specify the duration, Christian Christian:
EasyMock is fine imho. Regards Christian,
I prefer to let the test in the standard location : src/test/java. Nevertheless, we need : Concerning the mock library, easymock is fine for me. No problem to add an attribute enquireLinkPeriod, it's a good idea. Concerning the roadmap, we need to deal together around who make what Currently, I have begun consumer and provider endpoint with usage of Selenium SMSC simulator. I can work on enquireLinkPeriod attribute add tomorrow afternoon (french time). I have added enquireLinkTimer and transactionTimer on both consumer and provider endpoints.
After discussing with Lars and Guillaume, it's better to use mock. I'm begin to use easymock in endpoint tests.
Hi Lars, hi Jean-Baptiste,
I worked yesterday on simple unit tests for SmppProviderEndpoint and
At the moment, I can't submit a patch because I have the uncommited changes Jean-Baptiste, just to clarify: You will implement the unit tests for Christian Hi Christian,
After dealing with Lars and Guillaume, I won't use SMPPSim because :
That's why, I'm going to use easymock as SMSC simulator. For now, I'm investigating how to create (especially on which level) the mock :
If you have any proposal in your mind, I'm interested Regards Hi Jean-Baptiste, hi Lars,
I finished my work for the following features:
I also enlarged and modified the 'DefaultSmppMarshalerTest' (see Christian Thanks Christian for your patch. I will apply on my local svn copy and make a quick review. I will keep you posted.
On my side, I have advanced on a SmppServerMock to be able whole component testing. We need to wait for Lars concerning applying the patch on the main SMX svn repo (I haven't the permission to do it now). Regards Sorry Christian,
you have to grant the permissions to your contribution (patch) to the ASF. Regards Hi Lars,
sorry for the circumstances, I send the patch per e-Mail... Regards, Hi Jean-Baptiste,
sounds good... Do you mean, you start this SmppServerMock in the tests setUp One thing I notices for two days. SmppConsumerEndpoint and If Lars accept and commited your patch, I will apply the patch I announced In my next free time, I will looking for a better catch of exceptions on the Christian Hi Christian,
Yes, you have right, the SMPP server mock is ServerSocket adapter which listen on a given port and receiving SMPP streams. I will add a sending method to simulate a SMS incoming. Concerning the attribute, you have right, we can create an abstract super class. As soon as Lars will commit the patches set, I will create a new one with the super class. I will discuss with Guillaume if I can have writer permission on some part of the ASF svn repo. Concerning exception catching, I have begun some changes around this. I will apply after patches commit. I have created a first wiki page around the SMPP component : I will updated this wiki page with component changes. Regards Hi Jean-Baptiste,
the wiki page looks nice. To avoid the overlap, what do you think, I can work on? On my todo list, I
Christian I removed the patches without granting of the rights to the ASF.
The other patch will be applied soon. Applied both patches.
Please check if everything is as you wanted it. There are still 2 tests failing. Regards Thanks Lars for the commit. It looks fine for me.
The two test failures are due to the absence of SMPP server. To solve it, we need :
I keep you posted. Hi Jean-Baptiste, hi Lars,
I provide two patches for the SmppComponents. The SmppConsumerEndpoint.java.patch fixed the NPE in SmppConsumerEndpoint, if no marshaler is explicit provided. The SmppProviderEndpoint.java.patch correct the validation of the availability of the password in Christian Thanks Christian.
I'm going to apply the patch on my working copy and make a review on it. Keep you posted. JB Christian, I have validated your patch. I will have the permission to commit on the SMX svn repository soon. I will commit as soon as my account is activated.
JB Hi Jean-Baptiste,
sounds good... Regards, On Thu, Feb 5, 2009 at 8:22 AM, Jean-Baptiste Onofré (JIRA) <jira@apache.org Hi Jean-Baptiste,
any progress? Regards, Hi Christian,
sorry for the delay, but I'm stuck with a customer this week. I will commit and make whole component review this week end. Now I have the permission to commit on the ASF svn repo so I can commit your patch. My apologize again for the delay. Regards Hi Jean-Baptiste!
No problem... Regards, I have included Christian's patches on endpoints, changed unit test to avoid failure as I don't have commited SMPP server mock yet.
Commit done. After dealing with Lars, I will include the servicemix-smpp component to the build cycle.
Hi Jean-Baptiste!
It looks like you are busy. If it's ok for you, I will provide my patch which enables SmppProviderEndpoint and SmppConsumerEndpoint to deal with In-Only and Robust-In-Only MEPs. (If in SmppProviderEndpoint#process() an exception is thrown, we forward the exception to the service client. If MessageReceiverListener#onAcceptDeliverSm() throws an exection, we throw a org.jsmpp.extra.ProcessRequestException for the SMSC). It's ok for you? Regards, Hi Christian,
I was busy this week. I'm back in the business now. I'm ok with your patches proposal. Feel free to attach in this Jira. During this time, I resume my SMPP mock and add the SMPP BC in the SMX distribution. Thanks servicemix-smpp 2009.01 has been included in SMX4.
I make the change the include in next SMX3 release. servicemix-smpp 2009.01 component has been included in the SMX3 trunk.
I close this task as a first version of the component has been deployed. New features, enhancements or bugs on this component will raise jira tasks. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I am sorry, but we cannot integrate your component into smx unless you grant ASF the license. (you forgot to switch the radio button for your attachment).
Regards
Lars