You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "João Loureiro (Created JIRA)" <ji...@apache.org> on 2012/04/20 13:14:39 UTC

[jira] [Created] (CAMEL-5198) Implement connection pooling in jt400 component

Implement connection pooling in jt400 component
-----------------------------------------------

                 Key: CAMEL-5198
                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
             Project: Camel
          Issue Type: Improvement
    Affects Versions: 2.9.2
         Environment: i5/OS servers
            Reporter: João Loureiro
             Fix For: 2.10.0
         Attachments: patch.txt

Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).

Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios). There is one exception: failure to connect to the system might arise sooner, at Endpoint creation time, rather than at Producer/Consumer start time (although this depends on the pool implementation, it is the default behaviour).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "João Loureiro (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

João Loureiro updated CAMEL-5198:
---------------------------------

    Attachment:     (was: patch.txt)
    
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch_v2.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios). There is one exception: failure to connect to the system might arise sooner, at Endpoint creation time, rather than at Producer/Consumer start time (although this depends on the pool implementation, it is the default behaviour).
> The following text can be used as the documentation for the new URI option:
> *Name*
> {{connectionPool}}
> *Default value*
> {{AS400ConnectionPool}} instance
> *Description*
> *Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "João Loureiro (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

João Loureiro updated CAMEL-5198:
---------------------------------

    Description: 
Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).

Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios).

Thread safety: the producers/consumers, which were inherently thread-safe, became not thread-safe in regard to their start/stop lifecycle.

The following text can be used as the documentation for the new URI option:

*Name*
{{connectionPool}}

*Default value*
{{AS400ConnectionPool}} instance

*Description*
*Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

  was:
Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).

Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios). There is one exception: failure to connect to the system might arise sooner, at Endpoint creation time, rather than at Producer/Consumer start time (although this depends on the pool implementation, it is the default behaviour).

The following text can be used as the documentation for the new URI option:

*Name*
{{connectionPool}}

*Default value*
{{AS400ConnectionPool}} instance

*Description*
*Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

    
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch_v2.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios).
> Thread safety: the producers/consumers, which were inherently thread-safe, became not thread-safe in regard to their start/stop lifecycle.
> The following text can be used as the documentation for the new URI option:
> *Name*
> {{connectionPool}}
> *Default value*
> {{AS400ConnectionPool}} instance
> *Description*
> *Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "João Loureiro (Updated JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

João Loureiro updated CAMEL-5198:
---------------------------------

    Description: 
Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).

Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios). There is one exception: failure to connect to the system might arise sooner, at Endpoint creation time, rather than at Producer/Consumer start time (although this depends on the pool implementation, it is the default behaviour).

The following text can be used as the documentation for the new URI option:

*Name*
{{connectionPool}}

*Default value*
{{AS400ConnectionPool}} instance

*Description*
*Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

  was:
Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).

Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios). There is one exception: failure to connect to the system might arise sooner, at Endpoint creation time, rather than at Producer/Consumer start time (although this depends on the pool implementation, it is the default behaviour).

    
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios). There is one exception: failure to connect to the system might arise sooner, at Endpoint creation time, rather than at Producer/Consumer start time (although this depends on the pool implementation, it is the default behaviour).
> The following text can be used as the documentation for the new URI option:
> *Name*
> {{connectionPool}}
> *Default value*
> {{AS400ConnectionPool}} instance
> *Description*
> *Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "João Loureiro (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

João Loureiro updated CAMEL-5198:
---------------------------------

    Attachment: patch_v2.txt
    
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch_v2.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios). There is one exception: failure to connect to the system might arise sooner, at Endpoint creation time, rather than at Producer/Consumer start time (although this depends on the pool implementation, it is the default behaviour).
> The following text can be used as the documentation for the new URI option:
> *Name*
> {{connectionPool}}
> *Default value*
> {{AS400ConnectionPool}} instance
> *Description*
> *Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "João Loureiro (Updated JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

João Loureiro updated CAMEL-5198:
---------------------------------

    Attachment: patch.txt
    
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios). There is one exception: failure to connect to the system might arise sooner, at Endpoint creation time, rather than at Producer/Consumer start time (although this depends on the pool implementation, it is the default behaviour).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "João Loureiro (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13277876#comment-13277876 ] 

João Loureiro commented on CAMEL-5198:
--------------------------------------

I am redesigning the implementation of this issue since I found the code in the original patch to be prone to leaking. Can you wait until I submit an updated patch?
                
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios). There is one exception: failure to connect to the system might arise sooner, at Endpoint creation time, rather than at Producer/Consumer start time (although this depends on the pool implementation, it is the default behaviour).
> The following text can be used as the documentation for the new URI option:
> *Name*
> {{connectionPool}}
> *Default value*
> {{AS400ConnectionPool}} instance
> *Description*
> *Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288750#comment-13288750 ] 

Claus Ibsen commented on CAMEL-5198:
------------------------------------

A producer should generally be thread safe to allow concurrency, if not you would need to mark it as so, so Camel knows this. For example the ftp producer has similar issue, as the ftp client is not thread safe.
                
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch_v2.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios).
> Thread safety: the producers/consumers, which were inherently thread-safe, became not thread-safe in regard to their start/stop lifecycle.
> The following text can be used as the documentation for the new URI option:
> *Name*
> {{connectionPool}}
> *Default value*
> {{AS400ConnectionPool}} instance
> *Description*
> *Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Assigned] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen reassigned CAMEL-5198:
----------------------------------

    Assignee: Claus Ibsen
    
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>            Assignee: Claus Ibsen
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch_v2.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios).
> Thread safety: the producers/consumers, which were inherently thread-safe, became not thread-safe in regard to their start/stop lifecycle.
> The following text can be used as the documentation for the new URI option:
> *Name*
> {{connectionPool}}
> *Default value*
> {{AS400ConnectionPool}} instance
> *Description*
> *Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Resolved] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-5198.
--------------------------------

    Resolution: Fixed

Thanks for the patch. I have updated the docs as well.
                
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>            Assignee: Claus Ibsen
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch_v2.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios).
> Thread safety: the producers/consumers, which were inherently thread-safe, became not thread-safe in regard to their start/stop lifecycle.
> The following text can be used as the documentation for the new URI option:
> *Name*
> {{connectionPool}}
> *Default value*
> {{AS400ConnectionPool}} instance
> *Description*
> *Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (CAMEL-5198) Implement connection pooling in jt400 component

Posted by "João Loureiro (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13281019#comment-13281019 ] 

João Loureiro commented on CAMEL-5198:
--------------------------------------

New patch (patch_v2.txt) submitted with a reimplementation of this issue. Instead of having the endpoints get and store a connection, that responsibility is now on the producer/consumer side. This seems cleaner.

However, producers/consumers, which were inherently thread-safe, became not thread-safe in regard to their start/stop lifecycle. I don't know if it is intended that they be thread-safe in that regard.
                
> Implement connection pooling in jt400 component
> -----------------------------------------------
>
>                 Key: CAMEL-5198
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5198
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.9.2
>         Environment: i5/OS servers
>            Reporter: João Loureiro
>              Labels: camel-jt400, jt400
>             Fix For: 2.10.0
>
>         Attachments: patch_v2.txt
>
>
> Instead of eagerly obtaining a new connection to the AS/400 system, Endpoint instances request one from a connection pool. Users can specify that their own connection pool be used, or let Camel provide one (default behaviour).
> Functionally speaking, this feature does not introduce any change (it can be viewed as an optimization in advanced usage scenarios).
> Thread safety: the producers/consumers, which were inherently thread-safe, became not thread-safe in regard to their start/stop lifecycle.
> The following text can be used as the documentation for the new URI option:
> *Name*
> {{connectionPool}}
> *Default value*
> {{AS400ConnectionPool}} instance
> *Description*
> *Camel 2.10:* Reference to an {{com.ibm.as400.access.AS400ConnectionPool}} instance in the Registry. This is used for obtaining connections to the AS/400 system. The look up notation ('#' character) should be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira