[
https://issues.jboss.org/browse/AS7-1908?page=com.atlassian.jira.plugin.s...
]
Richard Achmatowicz edited comment on AS7-1908 at 2/7/12 3:28 PM:
------------------------------------------------------------------
Some background.
An AS7 JGroups configuration is created using management operations, either directly from
the CLI (post boot time) or indirectly from the JGroups subsystem configuration XML (at
boot time). The operations are essentially
{noformat}
/subsystem=jgroups/stack=udp:add()
/subsystem=jgroups/stack=udp/transport=TRANSPORT:add(type=UDP)
/subsystem=jgroups/stack=udp:add-protocol(type=MPING)
...
{noformat}
From these operations, ChannelFactoryServices holding JGroups
configuration information and having the ability to create JGroups channels are created;
for example, ChannelFactoryService("udp") and
ChannelFactoryService("tcp").
After completion of such commands, these services will have been configured and installed
in the Modular Service Container but possibly not yet started, as they are started on
demand by clients like Infinispan. At this stage, the JGroups configuration information is
just not useable - it is held in three different class types ProtocolStackConfiguration,
TransportConfiguration and ProtocolConfiguration and these instances contain injection
point references to other services such as a socket binding service (for picking up
configured bind addresses), executor service (for picking up executors), server
environment service (to get node name) and so on. These injection points are not
guaranteed to hold useful information until the ChannelFactoryService is started.
Channels are also represented as services, ChannelService, and they contain essentially a
name, a link back to a ChannelFactory and a real JGroups channel which is only created
when they start. For example, ChannelService("web") for web apps. Once a channel
has been created, it is easy to get a native JGroups configuration, via
Channel.getProtocolStack().printProtocolSpec(true). There will be a fairly straightforward
relationship between the XML and this configuration - with some defaults for protocol
properties thrown in by the ProtocolDefaultsService of the JGroups subsystem.
Thus, once a channel is configured, installed *and started*, we can easily look up the
ChannelService and get the native JGroups stack from which that Channel was created. The
tricky bit is what to do when the services are still dormant and have not yet been
started.
was (Author: rachmato):
Some background.
An AS7 JGroups configuration is created using management operations, either directly from
the CLI (post boot time) or indirectly from the JGroups subsystem configuration XML (at
boot time). The operations are essentially
{noformat}
/subsystem=jgroups/stack=udp:add()
/subsystem=jgroups/stack=udp/transport=TRANSPORT:add(type=UDP)
/subsystem=jgroups/stack=udp:add-protocol(type=MPING)
...
{noformat}
From these operations, ChannelFactoryServices holding JGroups
configuration information and having the ability to create JGroups channels are created;
for example, ChannelFactoryService("udp") and
ChannelFactoryService("tcp").
After completion of such commands, these services will have been configured and installed
in the Modular Service Container but possibly not yet started, as they are started on
demand by clients like Infinispan. At this stage, the JGroups configuration information is
just not useable - it is held in three different class types ProtocolStackConfiguration,
TransportConfiguration and ProtocolConfiguration and these instances contain injection
point references to other services such as a socket binding service (for picking up
configured bind addresses, executor service (for picking up executors) and so on. These
injection points are not guaranteed to hold useful information until the
ChannelFactoryService is started.
Channels are also represented as services, ChannelService, and they contain essentially a
name, a link back to a ChannelFactory and a real JGroups channel which is only created
when they start. For example, ChannelService("web") for web apps. Once a channel
has been created, it is easy to get a native JGroups configuration, via
Channel.getProtocolStack().printProtocolSpec(true). There will be a fairly straightforward
relationship between the XML and this configuration - with some defaults for protocol
properties thrown in by the ProtocolDefaultsService of the JGroups subsystem.
Thus, once a channel is configured, installed *and started*, we can easily look up the
ChannelService and get the native JGroups stack from which that Channel was created. The
tricky bit is what to do when the services are still dormant and have not yet been
started.
Provide tooling for converting AS7-specific JGroups configuration to
native JG config
-------------------------------------------------------------------------------------
Key: AS7-1908
URL:
https://issues.jboss.org/browse/AS7-1908
Project: Application Server 7
Issue Type: Feature Request
Components: Clustering
Affects Versions: 7.1.0.CR1
Reporter: Radoslav Husar
Assignee: Richard Achmatowicz
Priority: Trivial
Labels: eap6-ux
We should be able to tests people's JG in AS7 configuration using standalone JGroups.
--
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