Open topic with navigation

TIBCO ActiveMatrix BusinessWorks™ Plug-in Development Kit 6.3.1

# 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);
    			}
    		}
    	}

Did you find this helpful?

Yes No
Great!
Thanks for taking the time to give us some feedback.
Sorry about that

Why wasn't this helpful? (check all that apply)

Could not find what I was looking for
Instructions confusing or unclear
Instructions did not work

Want to tell us more?

Please select at least one option or provide details about the issue!!

Error occurred while submitting feedback.

Error2 occurred while submitting feedback.

TIBCO ActiveMatrix BusinessWorks™ Plug-in Development Kit

Copyright © 2014-2022. TIBCO Software Inc. All Rights Reserved.