[jboss-jira] [JBoss JIRA] (AS7-1932) Remoting outbound connection service

jaikiran pai (Commented) (JIRA) jira-events at lists.jboss.org
Mon Nov 14 11:45:41 EST 2011


    [ https://issues.jboss.org/browse/AS7-1932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12642611#comment-12642611 ] 

jaikiran pai commented on AS7-1932:
-----------------------------------

For reference, this is what we are planning to do:

{quote}
(09:47:48  IST) Jaikiran: dmlloyd: hey got a few minutes for discussing the AS7-1934 requirements
(09:47:50  IST) Jaikiran: ?
(09:47:50  IST) jbossbot: jira [AS7-1934] EJB client context configuration and management ops [Open (Unresolved) Sub-task, Blocker, jaikiran pai] https://issues.jboss.org/browse/AS7-1934
(09:48:32  IST) kpiwko_afk is now known as kpiwko
(09:49:13  IST) dmlloyd: sure
(09:49:47  IST) Jaikiran: a part of it ties into AS7-1932
(09:49:49  IST) jbossbot: jira [AS7-1932] Remoting outbound connection service [Open (Unresolved) Sub-task, Blocker, Unassigned] https://issues.jboss.org/browse/AS7-1932
(09:50:03  IST) dmlloyd: yeah there's two pieces
(09:50:19  IST) dmlloyd: basically we first need a way to configure outbound connections in the remoting subsystem configuration
(09:50:53  IST) dmlloyd: they need to be named, and have some base set of configuration parameters to facilitate authentication (think data sources) as well as configuring the socket itself
(09:51:14  IST) dmlloyd: the connections would be established in the context of a source endpoint so they would reside within the endpoint configuration
(09:51:41  IST) dmlloyd: then our EJB client configuration in the EJB subsystem would declare client contexts and have a listing of connections to associate with them
(09:52:36  IST) dmlloyd: an important note though - the connection service lifecycle cannot be tied to the connection lifecycle
(09:52:38  IST) Jaikiran: so ultimately the deployment descriptor would just be a named ref to that connections
(09:52:45  IST) dmlloyd: right
(09:53:02  IST) Jaikiran: isn't it the other way round?
(09:53:16  IST) dmlloyd: it's both ways around
(09:53:23  IST) Jaikiran: i mean the connection is destroyed on service destroy?
(09:53:25  IST) dmlloyd: a service lifecycle cannot be controlled by external factors
(09:53:41  IST) dmlloyd: so it can't wait for the connection to be up before starting for example
(09:53:47  IST) dmlloyd: and killing the connection cannot bring down the service
(09:54:07  IST) Jaikiran: oh ok i see what you mean
(09:54:25  IST) Jaikiran: so typically, the named ref dependency doesn't guarantee a connection that is UP
(09:54:39  IST) dmlloyd: right
(09:54:55  IST) dmlloyd: we need a way to get a connection from the ref if it's up - probably best to return an IoFuture<Connection> always
(09:55:05  IST) dmlloyd: the connection is either up or in the process of being created/restored
(09:55:21  IST) dmlloyd: and anything which uses it has to be able to go back for a new connection in the event of a failure
(09:55:38  IST) dmlloyd: this will take some thinking when it comes to EJBReceiver since we don't want the EJBReceiver disappearing
(09:55:47  IST) dmlloyd: also, we should have a way to designate a client context as the "default" which is applied to deployments if none is specified for that deployment
(09:55:55  IST) dmlloyd: (once we're at that part)
(09:56:08  IST) lfryc [~lfryc at cst-prg-121-2.cust.vodafone.cz] entered the room.
(09:56:35  IST) Jaikiran: although we don't "configure" the default context we do have the necessary setup ready to allow that default to be made available to the deployments currently
(09:56:47  IST) stliu left the room (quit: Quit: Leaving).
(09:57:11  IST) Jaikiran: btw, i was looking at the remoting subsystem xsd and it appears that the source endpoint is just 1?
(09:57:24  IST) Jaikiran: i mean all connections would thus be in the scope of the endpoint?
(09:58:00  IST) dmlloyd: yeah I'm not sure how it's set up, but one endpoint per VM is a reasonable policy
(09:58:23  IST) Jaikiran: ok
(09:58:41  IST) Jaikiran: in terms of specifying the destination for those connections
(09:58:56  IST) Jaikiran: i believe we can rely on the outbound-socket-binding support that we added recently
(09:59:04  IST) Jaikiran: which allows for specifying a host and a port
(09:59:16  IST) Jaikiran: is there more that needs to be considered?
(09:59:17  IST) dmlloyd: yes and no - remoting accepts a URI for the destination
(09:59:34  IST) dmlloyd: which includes protocol as well, and basically supports anything a URI supports
(09:59:57  IST) dmlloyd: for example, "local:" is a valid destination
(10:00:05  IST) Jaikiran: so the outbound-client-socket would just be one type of the destination then
(10:00:12  IST) dmlloyd: at some point "http:" may be as well
(10:00:46  IST) dmlloyd: yeah we'd need some way of referencing it
(10:01:25  IST) dmlloyd: e.g. "theproto://#{host}:#{port}/blah?foo"
(10:01:31  IST) dmlloyd: which is really ugly :)
(10:01:36  IST) dmlloyd: but I can't think of anything better
(10:01:43  IST) dmlloyd: maybe bstansberry has a thought
(10:01:44  IST) Jaikiran: i was thinking a bit like:
(10:02:53  IST) Jaikiran: <choice>
(10:02:53  IST) Jaikiran:  <uri type = "string"/> <!-- Allows the entire uri to be specified -->
(10:02:53  IST) Jaikiran:  <outbound-socket-binding-ref name="blah" uri-scheme="remote"/>
(10:02:53  IST) Jaikiran:  </choice>
(10:02:53  IST) Jaikiran:  
(10:02:58  IST) Jaikiran: or something along those lines
(10:03:21  IST) dmlloyd: that could work
(10:03:33  IST) dmlloyd: you could possibly be more specific:
(10:03:39  IST) sguilhen1 left the room.
(10:03:51  IST) sguilhen1 [~sguilhen at 189.78.3.181] entered the room.
(10:04:10  IST) bstansberry: re: "theproto://#{host}:#{port}/blah?foo"
(10:04:19  IST) sguilhen1 is now known as sguilhen
(10:04:24  IST) dmlloyd: <connect-uri value="xxx"/> or <connect-remote binding="source" target="remote"/> <!-- remote: is implied by the element -->
(10:04:28  IST) dmlloyd: or <connect-local/>
(10:04:32  IST) sguilhen left the room (quit: Changing host).
(10:04:32  IST) sguilhen [~sguilhen at redhat/jboss/sguilhen] entered the room.
(10:04:33  IST) bstansberry: there's a JIRA for creating system properties from socket-binding stuff
(10:04:44  IST) bstansberry: so those could be used in such a syntax
(10:04:50  IST) dmlloyd: okay, that's an option too then
(10:04:51  IST) bstansberry: ugly!!!!
(10:04:54  IST) dmlloyd: :D
(10:04:57  IST) Jaikiran: :)
(10:05:04  IST) tdiesler [~tdiesler at redhat/jboss/tdiesler] entered the room.
(10:05:05  IST) mode (+v tdiesler) by ChanServ
(10:05:13  IST) bstansberry: I think we'd need to make system-property services though
(10:05:25  IST) bstansberry: so the dependency crap could be done correctly
(10:05:30  IST) bstansberry: UGLY!!!!
(10:06:18  IST) bstansberry: dmlloyd: your examples above sound much better ;)
{quote}

                
> Remoting outbound connection service
> ------------------------------------
>
>                 Key: AS7-1932
>                 URL: https://issues.jboss.org/browse/AS7-1932
>             Project: Application Server 7
>          Issue Type: Sub-task
>          Components: Remoting
>            Reporter: David Lloyd
>            Assignee: jaikiran pai
>            Priority: Blocker
>             Fix For: 7.1.0.Beta1
>
>


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

        


More information about the jboss-jira mailing list