An exception is thrown when creating a fork channel if the stack file name is something other than udp.xml (in my case main.xml):
final JChannel mainChannel = new JChannel("main.xml");
final ForkChannel mbChannel = new ForkChannel(mainChannel,
"main", "fork-mb");
4-09 17:33:38.270: W/System.err(5478): java.io.FileNotFoundException: JGRP000003: file "udp.xml" not found
04-09 17:33:38.270: W/System.err(5478): at org.jgroups.conf.ConfiguratorFactory.getXmlConfigurator(ConfiguratorFactory.java:211)
04-09 17:33:38.270: W/System.err(5478): at org.jgroups.conf.ConfiguratorFactory.getStackConfigurator(ConfiguratorFactory.java:102)
04-09 17:33:38.270: W/System.err(5478): at org.jgroups.JChannel.<init>(JChannel.java:172)
04-09 17:33:38.270: W/System.err(5478): at org.jgroups.JChannel.<init>(JChannel.java:123)
04-09 17:33:38.270: W/System.err(5478): at org.jgroups.fork.ForkChannel.<init>(ForkChannel.java:75)
04-09 17:33:38.270: W/System.err(5478): at org.jgroups.fork.ForkChannel.<init>(ForkChannel.java:118)
04-09 17:33:38.270: W/System.err(5478): at com.novawurks.jgroupstest.JGroupsTestActivity$JGroupsSetupThread.run(JGroupsTestActivity.java:119)
If I have the stack named udp.xml then the exception is not thrown and everything works as expected. If I make a copy of main.xml named udp.xml (so both files are present) the exception is not thrown and everything works as expected.
Contents of main.xml / udp.xml :
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:org:jgroups" xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/JGroups-3.3.xsd" > <UDP enable_diagnostics="true" ip_mcast="true" ip_ttl="${jgroups.udp.ip_ttl:8}" loopback="true" max_bundle_size="1400" max_bundle_timeout="5" mcast_port="${jgroups.udp.mcast_port:45588}" mcast_recv_buf_size="200K" mcast_send_buf_size="200K" oob_thread_pool.enabled="true" oob_thread_pool.keep_alive_time="5000" oob_thread_pool.max_threads="8" oob_thread_pool.min_threads="1" oob_thread_pool.queue_enabled="false" oob_thread_pool.queue_max_size="100" oob_thread_pool.rejection_policy="discard" thread_naming_pattern="cl" thread_pool.enabled="true" thread_pool.keep_alive_time="5000" thread_pool.max_threads="8" thread_pool.min_threads="2" thread_pool.queue_enabled="true" thread_pool.queue_max_size="10000" thread_pool.rejection_policy="discard" timer.keep_alive_time="3000" timer.max_threads="10" timer.min_threads="4" timer.queue_max_size="500" timer_type="new3" tos="8" ucast_recv_buf_size="200K" ucast_send_buf_size="200K" /> <PING /> <MERGE2 max_interval="30000" min_interval="10000" /> <FD_SOCK /> <FD_ALL /> <VERIFY_SUSPECT timeout="1500" /> <BARRIER /> <pbcast.NAKACK2 discard_delivered_msgs="true" max_msg_batch_size="500" use_mcast_xmit="false" xmit_interval="500" xmit_table_max_compaction_time="30000" xmit_table_msgs_per_row="2000" xmit_table_num_rows="100" /> <UNICAST3 conn_expiry_timeout="0" max_msg_batch_size="500" xmit_interval="500" xmit_table_max_compaction_time="60000" xmit_table_msgs_per_row="2000" xmit_table_num_rows="100" /> <pbcast.STABLE desired_avg_gossip="50000" max_bytes="4M" stability_delay="1000" /> <pbcast.GMS join_timeout="3000" print_local_addr="true" view_bundling="true" /> <UFC max_credits="2M" min_threshold="0.4" /> <MFC max_credits="2M" min_threshold="0.4" /> <FRAG frag_size="1000" /> <pbcast.STATE_TRANSFER /> <FORK> <fork-stack id="main" > <config> <CENTRAL_LOCK num_backups="2" /> </config> </fork-stack> <fork-stack id="lock" > <config> <CENTRAL_LOCK num_backups="2" /> <STATS /> </config> </fork-stack> </FORK> </config>
- is related to
-
JGRP-1828 Allow protocols to define inline XML config
- Resolved