TCP Connection

Generated Objects

@Property(name = "MyTCPConnection")
public TCPConnectionAdminObject myTCPConnection;

myTCPConnection is an instance of com.tibco.bw.sharedresource.tcpconnection.runtime.TCPConnectionAdminObject that represents the selected resource. You can use it to obtain configuration attributes from the resource.
Important: A TCP Connection pooling (Enable Connection Pool under TCPConnection section of the resource configuration) cannot be used from a custom activity. You can only obtain the resource configuration values, but all socket access needs to be implemented in the activity.

Business Logic Example

class MyTCPSendActivityExecutor implements Runnable {

		/**
		 * <!-- begin-custom-doc -->
		 * 
		 * <!-- end-custom-doc -->
		 * @generated
		 */
		@Override
		public void run() {
			if(getActivityLogger().isDebugEnabled()) {
												activityLogger.debug(RuntimeMessageBundle.DEBUG_PLUGIN_ACTIVITY_METHOD_CALLED
																																																		,new Object[] { "Executor run()"
																																																		,activityContext.getActivityName()
																																																		,activityContext.getProcessName()
																																																		,activityContext.getDeploymentUnitName()
																																																		,activityContext.getDeploymentUnitVersion() });
											
String serializedNode = XMLUtils.serializeNode(inputData,processContext.getXMLProcessingContext());
		    					activityLogger.debug(RuntimeMessageBundle.DEBUG_PLUGIN_ACTIVITY_INPUT, new Object[] {activityContext.getActivityName(), serializedNode});
			}
			
			try {	
						
				
					// begin-custom-code
				// add your own business code here	

				Socket s = null;
			try {
						// get the destination host and port from the resource
						String host = myTCPConnection.getHost();
						Integer port = Integer.valueOf(myTCPConnection.getPort());
						// create a connected socket
						s = new Socket(host, port);
						// send a some data
						OutputStream os = s.getOutputStream();
						os.write(new String("Hello World!").getBytes());

				}	catch (IOException e) {
							throw new ActivityFault(activityContext, e);
				} finally
								{
					if (s != null){
								s.close();
							}
				}
					
				// end-custom-code			
			
									N output = null;
									SerializableXMLDocument<N> wrapper = new 
SerializableXMLDocument<N>(processContext.getXMLProcessingContext(), output);
												notifier.setReady(wrapper);
			} 			catch (Exception e) {
												e.printStackTrace();
												notifier.setReady(e);
																																		}
		}
	}