Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: framework
    • Labels:
      None

      Description

      This is the main ticket for the JMS refactoring tasks.
      I would like to start here some concept discussion ant the create sub-tasks...

      1. JMS-keep-connection.patch
        10 kB
        Martin Kreidenweis

        Activity

        Hide
        Martin Kreidenweis added a comment -

        I'd like to make two remarks:

        I think the JMS connection should be reused. Currently the JMSServiceEngine does a new lookup and creates a new connection for every service call. This is not particularly performant.

        Security is an issue: sending the serialized userLogin entity provides no security at all. So anybody with access to the JMS Topic can run any service on an OFBiz instance currently. There probably is no easy way to fix this, but people need to know about it. Maybe this is no OFBiz issue at all but an operations issue: the messaging server and connections have to be secured properly.

        Show
        Martin Kreidenweis added a comment - I'd like to make two remarks: I think the JMS connection should be reused. Currently the JMSServiceEngine does a new lookup and creates a new connection for every service call. This is not particularly performant. Security is an issue: sending the serialized userLogin entity provides no security at all. So anybody with access to the JMS Topic can run any service on an OFBiz instance currently. There probably is no easy way to fix this, but people need to know about it. Maybe this is no OFBiz issue at all but an operations issue: the messaging server and connections have to be secured properly.
        Hide
        Martin Kreidenweis added a comment -

        We already made some code changes to reuse the ActiveMQ connection for sending data:

        • Created JmsServiceJndiConfiguration class, which has the JNDI specific configuration
        • Created JmsServiceSession class, which holds all data associated to an open connection to ActiveMW so that all resources can be closed appropriately
        • Adapted the JmsServiceEngine to check if the connection was not open and to reopen a connection on failing to connect to ActiveMQ
        Show
        Martin Kreidenweis added a comment - We already made some code changes to reuse the ActiveMQ connection for sending data: Created JmsServiceJndiConfiguration class, which has the JNDI specific configuration Created JmsServiceSession class, which holds all data associated to an open connection to ActiveMW so that all resources can be closed appropriately Adapted the JmsServiceEngine to check if the connection was not open and to reopen a connection on failing to connect to ActiveMQ
        Hide
        BJ Freeman added a comment -

        Since JMSservice is commented out could you give a reason you see this important.
        More for my edification

        Show
        BJ Freeman added a comment - Since JMSservice is commented out could you give a reason you see this important. More for my edification

          People

          • Assignee:
            Unassigned
            Reporter:
            Dimitri Unruh
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:

              Development