Camel
  1. Camel
  2. CAMEL-2771

Update the jsmpp dependency of camel-smpp to 2.1.0

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.0
    • Fix Version/s: 2.4.0
    • Component/s: camel-smpp
    • Labels:
      None

      Description

      Update the jsmpp dependency to 2.1.0. This version of jsmpp solves a serious problem present in jsmpp 2.0 that affects the functionality of the EnquireLinkTimer option of camel-smpp.

      1. CAMEL-2771.patch
        21 kB
        Christian Müller

        Issue Links

          Activity

          Hide
          Jaco van Tonder added a comment -

          This issue is dependent on the resolution of SMX4-531.

          Show
          Jaco van Tonder added a comment - This issue is dependent on the resolution of SMX4-531 .
          Hide
          Christian Müller added a comment -

          Version 2.1.0 is not a "drop in replacement" for version 2.0.x. The org.jsmpp.session.MessageReceiverListener has become a new method

          public DataSmResult onAcceptDataSm(DataSm dataSm, Session session)  throws ProcessRequestException;
          

          With this new method, we have now the possibility to process incoming short messages, which I really like. I work on this improvement and I hope I will finish my work this week.

          Show
          Christian Müller added a comment - Version 2.1.0 is not a "drop in replacement" for version 2.0.x. The org.jsmpp.session.MessageReceiverListener has become a new method public DataSmResult onAcceptDataSm(DataSm dataSm, Session session) throws ProcessRequestException; With this new method, we have now the possibility to process incoming short messages, which I really like. I work on this improvement and I hope I will finish my work this week.
          Hide
          Christian Müller added a comment -

          provide the patch for this issue
          it also fix three small test failures

          Implements also the new introduced 'onAcceptDataSm' method in 'org.jsmpp.session.MessageReceiverListener', which is called if a 'DataSm' message is received from the SMSC. Unfortunately this is not an incoming short message, as I thought first (it has no body/contend).

          Show
          Christian Müller added a comment - provide the patch for this issue it also fix three small test failures Implements also the new introduced 'onAcceptDataSm' method in 'org.jsmpp.session.MessageReceiverListener', which is called if a 'DataSm' message is received from the SMSC. Unfortunately this is not an incoming short message, as I thought first (it has no body/contend).
          Hide
          Christian Müller added a comment -

          I will update the documentation, after the patch is applied.

          Show
          Christian Müller added a comment - I will update the documentation, after the patch is applied.
          Hide
          Christian Müller added a comment -

          Claus,
          could you please have a look on it? I have also CAMEL-2782 in the pipe and I don't know, against which version I should create the diff (trunk, trunk including this patch, ...).

          and still waiting for my account...

          Thanks in advanced,
          Christian

          Show
          Christian Müller added a comment - Claus, could you please have a look on it? I have also CAMEL-2782 in the pipe and I don't know, against which version I should create the diff (trunk, trunk including this patch, ...). and still waiting for my account... Thanks in advanced, Christian
          Hide
          Claus Ibsen added a comment -

          We will just wait until you got the karma, then you can commit the SMPP stuff.

          Show
          Claus Ibsen added a comment - We will just wait until you got the karma, then you can commit the SMPP stuff.
          Hide
          Christian Müller added a comment -

          I updated the wiki.

          @Jaco: Feel free to the test the current trunk, if it fits your needs.

          Show
          Christian Müller added a comment - I updated the wiki. @Jaco: Feel free to the test the current trunk, if it fits your needs.
          Hide
          Claus Ibsen added a comment -

          Christian that 2.1 jar is not in a public maven repo. We should add a repository location in the pom.xml of the camel-smpp project.
          I will disable the camel-smpp project so we can build the other stuff. And then you can look into to see what it takes to get it back again.

          When working the pom.xml under /components should just be changed back to include this component.

          [INFO] Building Camel :: SMPP
          [INFO]    task-segment: [clean, install]
          [INFO] ------------------------------------------------------------------------
          [INFO] [clean:clean]
          [INFO] Deleting file set: /Users/davsclaus/workspace/camel/components/camel-smpp/target (included: [**], excluded: [])
          Downloading: http://localhost:8081/nexus/content/groups/public/com/google/code/jsmpp/2.1.0/jsmpp-2.1.0.pom
          Downloading: http://localhost:8081/nexus/content/groups/public/com/google/code/jsmpp/2.1.0/jsmpp-2.1.0.jar
          [INFO] ------------------------------------------------------------------------
          [ERROR] BUILD ERROR
          [INFO] ------------------------------------------------------------------------
          [INFO] Failed to resolve artifact.
          
          Missing:
          ----------
          1) com.google.code:jsmpp:jar:2.1.0
          
            Try downloading the file manually from the project website.
          
            Then, install it using the command: 
                mvn install:install-file -DgroupId=com.google.code -DartifactId=jsmpp -Dversion=2.1.0 -Dpackaging=jar -Dfile=/path/to/file
          
            Alternatively, if you host your own repository you can deploy the file there: 
                mvn deploy:deploy-file -DgroupId=com.google.code -DartifactId=jsmpp -Dversion=2.1.0 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
          
            Path to dependency: 
                  1) org.apache.camel:camel-smpp:bundle:2.4-SNAPSHOT
                  2) com.google.code:jsmpp:jar:2.1.0
          
          ----------
          1 required artifact is missing.
          
          for artifact: 
            org.apache.camel:camel-smpp:bundle:2.4-SNAPSHOT
          
          from the specified remote repositories:
            apache.snapshots (http://repository.apache.org/snapshots),
            Nexus (http://localhost:8081/nexus/content/groups/public)
          
          Show
          Claus Ibsen added a comment - Christian that 2.1 jar is not in a public maven repo. We should add a repository location in the pom.xml of the camel-smpp project. I will disable the camel-smpp project so we can build the other stuff. And then you can look into to see what it takes to get it back again. When working the pom.xml under /components should just be changed back to include this component. [INFO] Building Camel :: SMPP [INFO] task-segment: [clean, install] [INFO] ------------------------------------------------------------------------ [INFO] [clean:clean] [INFO] Deleting file set: /Users/davsclaus/workspace/camel/components/camel-smpp/target (included: [**], excluded: []) Downloading: http: //localhost:8081/nexus/content/groups/ public /com/google/code/jsmpp/2.1.0/jsmpp-2.1.0.pom Downloading: http: //localhost:8081/nexus/content/groups/ public /com/google/code/jsmpp/2.1.0/jsmpp-2.1.0.jar [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to resolve artifact. Missing: ---------- 1) com.google.code:jsmpp:jar:2.1.0 Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=com.google.code -DartifactId=jsmpp -Dversion=2.1.0 -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=com.google.code -DartifactId=jsmpp -Dversion=2.1.0 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.apache.camel:camel-smpp:bundle:2.4-SNAPSHOT 2) com.google.code:jsmpp:jar:2.1.0 ---------- 1 required artifact is missing. for artifact: org.apache.camel:camel-smpp:bundle:2.4-SNAPSHOT from the specified remote repositories: apache.snapshots (http: //repository.apache.org/snapshots), Nexus (http: //localhost:8081/nexus/content/groups/ public )
          Hide
          Claus Ibsen added a comment -

          I fixed the build by using the SMX bundle v2.1 jar in the pom.xml file.

          trunk: 954362.

          Show
          Claus Ibsen added a comment - I fixed the build by using the SMX bundle v2.1 jar in the pom.xml file. trunk: 954362.
          Hide
          Christian Müller added a comment -

          Sorry Claus,

          Gert uploaded the jsmpp 2.1 artifacts to the ServiceMix repository (949950). I thought this repository is already used by Camel. Sorry again...

          Christian

          Show
          Christian Müller added a comment - Sorry Claus, Gert uploaded the jsmpp 2.1 artifacts to the ServiceMix repository ( 949950 ). I thought this repository is already used by Camel. Sorry again... Christian
          Hide
          Willem Jiang added a comment - - edited

          @Christian,

          I just ran "mvn clean install -Pvalidate " in trunk/plateform/karaf directory, and found the feature validate complain about these

          [WARNING] No export found to match org.testng (imported by mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/2.1.0_1-SNAPSHOT)
          [WARNING] No export found to match org.testng.annotations (imported by mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/2.1.0_1-SNAPSHOT)
          

          I checked the jsmpp jar and found there are some test classes in org.jsmpp.bean, and they are using the testng class.
          So I marked the "org.testng" import package as optional in my patch, so please apply it into ServiceMix bundle repository.

          Here is the patch

          Index: pom.xml
          ===================================================================
          --- pom.xml	(revision 954397)
          +++ pom.xml	(working copy)
          @@ -44,6 +44,7 @@
                   </servicemix.osgi.export.pkg>
                   <servicemix.osgi.import.pkg>
                       !org.jsmpp*,
          +            org.testng.*;resolution:=optional,
                       *
                   </servicemix.osgi.import.pkg>
                   <servicemix.osgi.private.pkg>
          
          
          Show
          Willem Jiang added a comment - - edited @Christian, I just ran "mvn clean install -Pvalidate " in trunk/plateform/karaf directory, and found the feature validate complain about these [WARNING] No export found to match org.testng (imported by mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/2.1.0_1-SNAPSHOT) [WARNING] No export found to match org.testng.annotations (imported by mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/2.1.0_1-SNAPSHOT) I checked the jsmpp jar and found there are some test classes in org.jsmpp.bean, and they are using the testng class. So I marked the "org.testng" import package as optional in my patch, so please apply it into ServiceMix bundle repository. Here is the patch Index: pom.xml =================================================================== --- pom.xml (revision 954397) +++ pom.xml (working copy) @@ -44,6 +44,7 @@ </servicemix.osgi.export.pkg> <servicemix.osgi. import .pkg> !org.jsmpp*, + org.testng.*;resolution:=optional, * </servicemix.osgi. import .pkg> <servicemix.osgi. private .pkg>
          Hide
          Claus Ibsen added a comment -

          Closing all resolved tickets from 2010 or older

          Show
          Claus Ibsen added a comment - Closing all resolved tickets from 2010 or older

            People

            • Assignee:
              Christian Müller
              Reporter:
              Jaco van Tonder
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development