Revision: 7322
Author: oleg.kulikoff
Date: Wed Aug 5 05:14:16 2009
Log: Issue 756: Composite components
http://code.google.com/p/mobicents/source/detail?r=7322
Modified:
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/evt/ann/PlayAnnouncementTest.java
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/evt/dtmf/Rfc2833DtmfGeneratorTest.java
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/test/CA.java
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/test/dtmf/DtmfDetectionTestCase.java
/trunk/servers/media/core/controllers/mgcp/src/test/resources/org/mobicents/media/server/ctrl/mgcp/test/ann/AnnTestCase.xml
/trunk/servers/media/core/controllers/mgcp/src/test/resources/org/mobicents/media/server/ctrl/mgcp/test/crcx/CrcxTestCase.xml
/trunk/servers/media/core/controllers/mgcp/src/test/resources/org/mobicents/media/server/ctrl/mgcp/test/dtmf/DtmfDetectionTestCase.xml
=======================================
---
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/evt/ann/PlayAnnouncementTest.java
Fri Jul 24 01:34:58 2009
+++
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/evt/ann/PlayAnnouncementTest.java
Wed Aug 5 05:14:16 2009
@@ -20,6 +20,7 @@
import org.mobicents.media.Component;
import org.mobicents.media.ComponentFactory;
import org.mobicents.media.Format;
+import org.mobicents.media.server.ConnectionFactory;
import org.mobicents.media.server.EndpointImpl;
import org.mobicents.media.server.ctrl.mgcp.MgcpController;
import static org.junit.Assert.*;
@@ -84,8 +85,12 @@
sender = new EndpointImpl("test/announcement/sender");
sender.setTimer(timer);
+ ConnectionFactory connectionFactory = new
ConnectionFactory();
+ connectionFactory.setRxChannelFactory(channelFactory);
+ connectionFactory.setTxChannelFactory(channelFactory);
+
sender.setSourceFactory(playerFactory);
- sender.setTxChannelFactory(channelFactory);
+ sender.setConnectionFactory(connectionFactory);
sender.start();
@@ -93,7 +98,7 @@
receiver.setTimer(timer);
receiver.setSinkFactory(sinkFactory);
- receiver.setRxChannelFactory(channelFactory);
+ receiver.setConnectionFactory(connectionFactory);
receiver.start();
}
=======================================
---
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/evt/dtmf/Rfc2833DtmfGeneratorTest.java
Fri Jul 24 01:34:58 2009
+++
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/evt/dtmf/Rfc2833DtmfGeneratorTest.java
Wed Aug 5 05:14:16 2009
@@ -17,22 +17,19 @@
import org.mobicents.media.Component;
import org.mobicents.media.ComponentFactory;
import org.mobicents.media.Format;
+import org.mobicents.media.server.ConnectionFactory;
import org.mobicents.media.server.EndpointImpl;
import org.mobicents.media.server.ctrl.mgcp.MgcpController;
import org.mobicents.media.server.ctrl.mgcp.Request;
-import org.mobicents.media.server.ctrl.mgcp.evt.dtmf.DtmfGenerator;
-import org.mobicents.media.server.ctrl.mgcp.evt.dtmf.DtmfGeneratorFactory;
import org.mobicents.media.server.impl.AbstractSink;
import org.mobicents.media.server.impl.clock.TimerImpl;
import
org.mobicents.media.server.impl.resource.dtmf.Rfc2833GeneratorFactory;
-import org.mobicents.media.server.impl.rtp.RtpHeader;
import org.mobicents.media.server.impl.rtp.sdp.AVProfile;
import org.mobicents.media.server.resource.ChannelFactory;
import org.mobicents.media.server.spi.Connection;
import org.mobicents.media.server.spi.ConnectionMode;
import org.mobicents.media.server.spi.Endpoint;
import org.mobicents.media.server.spi.Timer;
-import org.mobicents.media.server.spi.resource.DtmfDetector;
/**
*
@@ -85,8 +82,12 @@
sender = new EndpointImpl("test/announcement/sender");
sender.setTimer(timer);
+ ConnectionFactory connectionFactory = new
ConnectionFactory();
+ connectionFactory.setRxChannelFactory(channelFactory);
+ connectionFactory.setTxChannelFactory(channelFactory);
+
sender.setSourceFactory(rfc2833Factory);
- sender.setTxChannelFactory(channelFactory);
+ sender.setConnectionFactory(connectionFactory);
sender.start();
sinkFactory = new TestSinkFactory();
@@ -95,7 +96,7 @@
receiver.setTimer(timer);
receiver.setSinkFactory(sinkFactory);
- receiver.setRxChannelFactory(channelFactory);
+ receiver.setConnectionFactory(connectionFactory);
receiver.start();
=======================================
---
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/test/CA.java
Mon Jun 8 11:41:47 2009
+++
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/test/CA.java
Wed Aug 5 05:14:16 2009
@@ -42,7 +42,7 @@
EndpointIdentifier endpointID = new
EndpointIdentifier("/mobicents/media/aap/1", "127.0.0.1:" +
MgcpMicrocontainerTest.REMOTE_PORT);
- CreateConnection createConnection = new CreateConnection(this, callID,
endpointID, ConnectionMode.SendRecv);
+ CreateConnection createConnection = new CreateConnection(this, callID,
endpointID, ConnectionMode.SendOnly);
String sdpData = "v=0\r\n" + "o=4855 13760799956958020
13760799956958020" + " IN IP4 127.0.0.1\r\n"
+ "s=mysession session\r\n" + "p=+46 8 52018010\r\n" + "c=IN IP4
127.0.0.1\r\n" + "t=0 0\r\n"
@@ -73,7 +73,7 @@
EndpointIdentifier endpointID = new
EndpointIdentifier("/mobicents/media/aap/2", "127.0.0.1:" +
MgcpMicrocontainerTest.REMOTE_PORT);
- CreateConnection createConnection = new CreateConnection(this, callID,
endpointID, ConnectionMode.SendRecv);
+ CreateConnection createConnection = new CreateConnection(this, callID,
endpointID, ConnectionMode.SendOnly);
String sdpData = "v=0\r\n" + "o=4855 13760799956958020
13760799956958020" + " IN IP4 127.0.0.1\r\n"
+ "s=mysession session\r\n" + "p=+46 8 52018010\r\n" + "c=IN IP4
127.0.0.1\r\n" + "t=0 0\r\n"
=======================================
---
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/test/dtmf/DtmfDetectionTestCase.java
Fri Jul 24 01:34:58 2009
+++
/trunk/servers/media/core/controllers/mgcp/src/test/java/org/mobicents/media/server/ctrl/mgcp/test/dtmf/DtmfDetectionTestCase.java
Wed Aug 5 05:14:16 2009
@@ -55,7 +55,7 @@
super.setUp();
semaphore = new Semaphore(0);
- txConnection = createConnection(AAP, ConnectionMode.SendRecv,
null);
+ txConnection = createConnection(AAP, ConnectionMode.SendOnly,
null);
rxConnection = createConnection(IVR, ConnectionMode.SendRecv,
txConnection.getLocalSdp());
modifyConnection(txConnection, rxConnection.getLocalSdp());
=======================================
---
/trunk/servers/media/core/controllers/mgcp/src/test/resources/org/mobicents/media/server/ctrl/mgcp/test/ann/AnnTestCase.xml
Sat Jul 25 02:05:46 2009
+++
/trunk/servers/media/core/controllers/mgcp/src/test/resources/org/mobicents/media/server/ctrl/mgcp/test/ann/AnnTestCase.xml
Wed Aug 5 05:14:16 2009
@@ -178,6 +178,9 @@
<bean name="TxChannelFactory"
class="org.mobicents.media.server.resource.ChannelFactory" />
+ <bean name="AnnConnectionFactory"
class="org.mobicents.media.server.ConnectionFactory">
+ <property name="txChannelFactory"><inject
bean="TxChannelFactory"/></property>
+ </bean>
<!-- ANNOUNCEMENT -->
<bean name="Announcement-Access-Point"
@@ -202,8 +205,8 @@
</entry>
</map>
</property>
- <property name="txChannelFactory">
- <inject bean="TxChannelFactory" />
+ <property name="connectionFactory">
+ <inject bean="AnnConnectionFactory" />
</property>
</bean>
@@ -216,6 +219,10 @@
<bean name="RxChannelFactory"
class="org.mobicents.media.server.resource.ChannelFactory" />
+ <bean name="IVRConnectionFactory"
class="org.mobicents.media.server.ConnectionFactory">
+ <property name="rxChannelFactory"><inject
bean="RxChannelFactory"/></property>
+ </bean>
+
<!-- IVR -->
<bean name="IVREndpoint"
class="org.mobicents.media.server.EndpointImpl">
@@ -240,8 +247,8 @@
</map>
</property>
- <property name="rxChannelFactory">
- <inject bean="RxChannelFactory" />
+ <property name="connectionFactory">
+ <inject bean="IVRConnectionFactory" />
</property>
</bean>
=======================================
---
/trunk/servers/media/core/controllers/mgcp/src/test/resources/org/mobicents/media/server/ctrl/mgcp/test/crcx/CrcxTestCase.xml
Fri Jul 24 01:34:58 2009
+++
/trunk/servers/media/core/controllers/mgcp/src/test/resources/org/mobicents/media/server/ctrl/mgcp/test/crcx/CrcxTestCase.xml
Wed Aug 5 05:14:16 2009
@@ -1,167 +1,167 @@
<?xml version="1.0" encoding="UTF-8"?>
-
<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
xmlns="urn:jboss:bean-deployer:2.0">
<!-- from bootstrap-beans.xml -->
<!-- Timer definition -->
- <bean name="Timer"
+ <bean name="Timer"
class="org.mobicents.media.server.impl.clock.TimerImpl">
- <property name="heartBeat">20</property>
- </bean>
+ <property name="heartBeat">20
+ </property>
+ </bean>
<!-- Media Server -->
- <bean name="MediaServer"
+ <bean name="MediaServer"
class="org.mobicents.media.server.impl.naming.InnerNamingService">
- <incallback method="addEndpoint" />
- <uncallback method="removeEndpoint" />
- </bean>
+ <incallback method="addEndpoint" />
+ <uncallback method="removeEndpoint" />
+ </bean>
<!-- Definition of media formats -->
- <bean name="PCMU" class="org.mobicents.media.format.AudioFormat">
- <constructor>
- <parameter>ULAW</parameter>
- <parameter>8000</parameter>
- <parameter>8</parameter>
- <parameter>1</parameter>
- </constructor>
- </bean>
-
- <bean name="PCMA" class="org.mobicents.media.format.AudioFormat">
- <constructor>
- <parameter>ALAW</parameter>
- <parameter>8000</parameter>
- <parameter>8</parameter>
- <parameter>1</parameter>
- </constructor>
- </bean>
-
- <bean name="SPEEX" class="org.mobicents.media.format.AudioFormat">
- <constructor>
- <parameter>SPEEX</parameter>
- <parameter>8000</parameter>
- <parameter>8</parameter>
- <parameter>1</parameter>
- </constructor>
- </bean>
-
- <bean name="GSM" class="org.mobicents.media.format.AudioFormat">
- <constructor>
- <parameter>ULAW</parameter>
- <parameter>8000</parameter>
- <parameter>8</parameter>
- <parameter>1</parameter>
- </constructor>
- </bean>
-
- <bean name="G729" class="org.mobicents.media.format.AudioFormat">
- <constructor>
- <parameter>ULAW</parameter>
- <parameter>8000</parameter>
- <parameter>8</parameter>
- <parameter>1</parameter>
- </constructor>
- </bean>
-
- <bean name="DTMF" class="org.mobicents.media.format.AudioFormat">
- <constructor>
- <parameter>telephone-event/8000</parameter>
- </constructor>
- </bean>
-
- <bean name="H261" class="org.mobicents.media.format.VideoFormat">
- <constructor>
- <parameter>H261</parameter>
- <parameter>90000</parameter>
- </constructor>
- </bean>
+ <bean name="PCMU" class="org.mobicents.media.format.AudioFormat">
+ <constructor>
+ <parameter>ULAW</parameter>
+ <parameter>8000</parameter>
+ <parameter>8</parameter>
+ <parameter>1</parameter>
+ </constructor>
+ </bean>
+ <bean name="PCMA" class="org.mobicents.media.format.AudioFormat">
+ <constructor>
+ <parameter>ALAW</parameter>
+ <parameter>8000</parameter>
+ <parameter>8</parameter>
+ <parameter>1</parameter>
+ </constructor>
+ </bean>
+ <bean name="SPEEX" class="org.mobicents.media.format.AudioFormat">
+ <constructor>
+ <parameter>SPEEX</parameter>
+ <parameter>8000</parameter>
+ <parameter>8</parameter>
+ <parameter>1</parameter>
+ </constructor>
+ </bean>
+ <bean name="GSM" class="org.mobicents.media.format.AudioFormat">
+ <constructor>
+ <parameter>ULAW</parameter>
+ <parameter>8000</parameter>
+ <parameter>8</parameter>
+ <parameter>1</parameter>
+ </constructor>
+ </bean>
+ <bean name="G729" class="org.mobicents.media.format.AudioFormat">
+ <constructor>
+ <parameter>ULAW</parameter>
+ <parameter>8000</parameter>
+ <parameter>8</parameter>
+ <parameter>1</parameter>
+ </constructor>
+ </bean>
+ <bean name="DTMF" class="org.mobicents.media.format.AudioFormat">
+ <constructor>
+ <parameter>telephone-event/8000</parameter>
+ </constructor>
+ </bean>
+ <bean name="H261" class="org.mobicents.media.format.VideoFormat">
+ <constructor>
+ <parameter>H261</parameter>
+ <parameter>90000</parameter>
+ </constructor>
+ </bean>
<!-- RTP stuff configuration -->
- <bean name="RTPAudioFactory"
+ <bean name="RTPAudioFactory"
class="org.mobicents.media.server.impl.rtp.RtpFactory">
- <property name="formatMap">
- <map class="java.util.Hashtable"
+ <property name="formatMap">
+ <map class="java.util.Hashtable"
keyClass="java.lang.Integer"
valueClass="org.mobicents.media.Format">
- <entry>
- <key>0</key>
- <value>
- <inject bean="PCMU" />
- </value>
- </entry>
- <entry>
- <key>8</key>
- <value>
- <inject bean="PCMA" />
- </value>
- </entry>
- <entry>
- <key>3</key>
- <value>
- <inject bean="GSM" />
- </value>
- </entry>
- <entry>
- <key>97</key>
- <value>
- <inject bean="SPEEX" />
- </value>
- </entry>
- <entry>
- <key>101</key>
- <value>
- <inject bean="DTMF" />
- </value>
- </entry>
- </map>
- </property>
- <property name="bindAddress">127.0.0.1</property>
- <property name="localPort">9200</property>
- <property name="jitter">60</property>
- <property name="timer">
- <inject bean="Timer" />
- </property>
- </bean>
+ <entry>
+ <key>0</key>
+ <value>
+ <inject bean="PCMU" />
+ </value>
+ </entry>
+ <entry>
+ <key>8</key>
+ <value>
+ <inject bean="PCMA" />
+ </value>
+ </entry>
+ <entry>
+ <key>3</key>
+ <value>
+ <inject bean="GSM" />
+ </value>
+ </entry>
+ <entry>
+ <key>97</key>
+ <value>
+ <inject bean="SPEEX" />
+ </value>
+ </entry>
+ <entry>
+ <key>101</key>
+ <value>
+ <inject bean="DTMF" />
+ </value>
+ </entry>
+ </map>
+ </property>
+ <property name="bindAddress">127.0.0.1
+ </property>
+ <property name="localPort">9200
+ </property>
+ <property name="jitter">60
+ </property>
+ <property name="timer">
+ <inject bean="Timer" />
+ </property>
+ </bean>
<!-- RTP stuff configuration -->
- <bean name="RTPVideoFactory"
+ <bean name="RTPVideoFactory"
class="org.mobicents.media.server.impl.rtp.RtpFactory">
- <property name="formatMap">
- <map class="java.util.Hashtable"
+ <property name="formatMap">
+ <map class="java.util.Hashtable"
keyClass="java.lang.Integer"
valueClass="org.mobicents.media.Format">
- <entry>
- <key>31</key>
- <value>
- <inject bean="H261" />
- </value>
- </entry>
- </map>
- </property>
- <property name="jitter">60</property>
- <property name="timer">
- <inject bean="Timer" />
- </property>
- </bean>
-
- <bean name="G711.UlawEncoderFactory"
+ <entry>
+ <key>31</key>
+ <value>
+ <inject bean="H261" />
+ </value>
+ </entry>
+ </map>
+ </property>
+ <property name="jitter">60
+ </property>
+ <property name="timer">
+ <inject bean="Timer" />
+ </property>
+ </bean>
+ <bean name="G711.UlawEncoderFactory"
class="org.mobicents.media.server.impl.dsp.audio.g711.ulaw.EncoderFactory"
/>
- <bean name="G711.UlawDecoderFactory"
+ <bean name="G711.UlawDecoderFactory"
class="org.mobicents.media.server.impl.dsp.audio.g711.ulaw.DecoderFactory"
/>
-
- <bean name="AudioPlayerFactory"
+ <bean name="AudioPlayerFactory"
class="org.mobicents.media.server.impl.resource.audio.AudioPlayerFactory">
- <property name="name">audio.player</property>
- </bean>
-
-
-
-
- <bean name="TxChannelFactory"
+ <property name="name">audio.player
+ </property>
+ </bean>
+ <bean name="TxChannelFactory"
class="org.mobicents.media.server.resource.ChannelFactory" />
-
- <bean name="RxChannelFactory"
+ <bean name="RxChannelFactory"
class="org.mobicents.media.server.resource.ChannelFactory" />
+ <bean name="AnnConnectionFactory"
class="org.mobicents.media.server.ConnectionFactory">
+ <property name="txChannelFactory">
+ <inject bean="TxChannelFactory"/>
+ </property>
+ <property name="rxChannelFactory">
+ <inject bean="RxChannelFactory"/>
+ </property>
+ </bean>
<!-- ANNOUNCEMENT -->
<bean name="Announcement-Access-Point"
class="org.mobicents.media.server.EndpointImpl">
@@ -177,61 +177,70 @@
<property name="rtpFactory">
<map class="java.util.Hashtable" keyClass="java.lang.String"
valueClass="org.mobicents.media.server.impl.rtp.RtpFactory">
<entry>
- <key>audio</key><value><inject
bean="RTPAudioFactory"/></value>
+ <key>audio</key>
+ <value>
+ <inject bean="RTPAudioFactory"/>
+ </value>
</entry>
</map>
</property>
- <property name="txChannelFactory">
- <inject bean="TxChannelFactory"/>
+ <property name="connectionFactory">
+ <inject bean="AnnConnectionFactory" />
</property>
</bean>
<!-- from mgcp-conf.xml -->
- <bean name="MgcpController"
+ <bean name="MgcpController"
class="org.mobicents.media.server.ctrl.mgcp.MgcpController">
- <property name="namingService">
- <inject bean="MediaServer" />
- </property>
- <property name="bindAddress">127.0.0.1</property>
- <property name="port">2427</property>
- <incallback method="addPackage" />
- <uncallback method="removePackage" />
- </bean>
-
- <bean name="PlayAnnouncement"
+ <property name="namingService">
+ <inject bean="MediaServer" />
+ </property>
+ <property name="bindAddress">127.0.0.1
+ </property>
+ <property name="port">2427
+ </property>
+ <incallback method="addPackage" />
+ <uncallback method="removePackage" />
+ </bean>
+ <bean name="PlayAnnouncement"
class="org.mobicents.media.server.ctrl.mgcp.evt.ann.PlayAnnouncementFactory">
- <property name="eventName">ann</property>
- <property name="resourceName">audio.player</property>
- </bean>
-
- <bean name="Announcement.OC"
+ <property name="eventName">ann
+ </property>
+ <property name="resourceName">audio.player
+ </property>
+ </bean>
+ <bean name="Announcement.OC"
class="org.mobicents.media.server.ctrl.mgcp.evt.DefaultDetectorFactory">
- <property name="eventName">oc</property>
- <property name="resourceName">audio.player</property>
- <property name="eventID">2</property>
- </bean>
-
- <bean name="Announcement.OF"
+ <property name="eventName">oc
+ </property>
+ <property name="resourceName">audio.player
+ </property>
+ <property name="eventID">2
+ </property>
+ </bean>
+ <bean name="Announcement.OF"
class="org.mobicents.media.server.ctrl.mgcp.evt.DefaultDetectorFactory">
- <property name="eventName">of</property>
- <property name="resourceName">audio.player</property>
- <property name="eventID">3</property>
- </bean>
-
- <bean name="Package.Announcement"
+ <property name="eventName">of
+ </property>
+ <property name="resourceName">audio.player
+ </property>
+ <property name="eventID">3
+ </property>
+ </bean>
+ <bean name="Package.Announcement"
class="org.mobicents.media.server.ctrl.mgcp.evt.MgcpPackage">
- <property name="name">A</property>
- <property name="generators">
- <list>
- <inject bean="PlayAnnouncement" />
- </list>
- </property>
- <property name="detectors">
- <list>
- <inject bean="Announcement.OC" />
- <inject bean="Announcement.OF" />
- </list>
- </property>
- </bean>
-
+ <property name="name">A
+ </property>
+ <property name="generators">
+ <list>
+ <inject bean="PlayAnnouncement" />
+ </list>
+ </property>
+ <property name="detectors">
+ <list>
+ <inject bean="Announcement.OC" />
+ <inject bean="Announcement.OF" />
+ </list>
+ </property>
+ </bean>
</deployment>
=======================================
---
/trunk/servers/media/core/controllers/mgcp/src/test/resources/org/mobicents/media/server/ctrl/mgcp/test/dtmf/DtmfDetectionTestCase.xml
Sat Jul 25 02:05:46 2009
+++
/trunk/servers/media/core/controllers/mgcp/src/test/resources/org/mobicents/media/server/ctrl/mgcp/test/dtmf/DtmfDetectionTestCase.xml
Wed Aug 5 05:14:16 2009
@@ -269,6 +269,10 @@
</property>
</bean>
+ <bean name="AnnConnectionFactory"
class="org.mobicents.media.server.ConnectionFactory">
+ <property name="txChannelFactory"><inject
bean="TxChannelFactory"/></property>
+ </bean>
+
<!-- ANNOUNCEMENT -->
<bean name="Announcement-Access-Point"
@@ -293,8 +297,8 @@
</entry>
</map>
</property>
- <property name="txChannelFactory">
- <inject bean="TxChannelFactory" />
+ <property name="connectionFactory">
+ <inject bean="AnnConnectionFactory" />
</property>
</bean>
@@ -359,6 +363,11 @@
</property>
</bean>
+ <bean name="IVRConnectionFactory"
class="org.mobicents.media.server.ConnectionFactory">
+ <property name="txChannelFactory"><inject
bean="IVR-TxChannelFactory"/></property>
+ <property name="rxChannelFactory"><inject
bean="IVR-RxChannelFactory"/></property>
+ </bean>
+
<!-- IVR -->
<bean name="IVREndpoint"
class="org.mobicents.media.server.EndpointImpl">
@@ -385,11 +394,8 @@
</entry>
</map>
</property>
- <property name="txChannelFactory">
- <inject bean="IVR-TxChannelFactory" />
- </property>
- <property name="rxChannelFactory">
- <inject bean="IVR-RxChannelFactory" />
+ <property name="connectionFactory">
+ <inject bean="IVRConnectionFactory" />
</property>
</bean>