Here is an example of what I use to setup the ConnectionFactory for TIBCO. We use JNDI to lookup the factory and this was setup by our TIBCO EMS admins, so I can't help you there.
Code:
<bean id="jmsSingleConnectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
<property name="targetConnectionFactory" ref="userCredentialsConnectionFactoryAdapter" />
</bean>
<bean id="userCredentialsConnectionFactoryAdapter" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory">
<ref bean="jmsConnectionFactory"/>
</property>
<property name="username" value="uname" />
<property name="password" value="pwd" />
</bean>
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">
com.tibco.tibjms.naming.TibjmsInitialContextFactory
</prop>
<prop key="java.naming.provider.url">
${jms.jndiUrl}
</prop>
<prop key="java.naming.security.principal">
uname
</prop>
<prop key="java.naming.security.credentials">
pwd
</prop>
</props>
</property>
</bean>
<bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate">
<ref bean="jndiTemplate"/>
</property>
<property name="jndiName">
<value>GenericConnectionFactory</value>
</property>
</bean>
Note this is using the SingleConnectionFactory in which you would have just 1 shared connection (no connection pooling). I have had pretty good luck with the SingleConnectionFactory. Also, read the documentation in the reference manual on Spring JMS. It is very helpful.
In addition, the following might work if you don't want to use JDNI to lookup the connection Factory.
Code:
<bean id="factory" class="com.tibco.tibjms.naming.TibjmsFederatedXAConnectionFactory">
<property name="serverUrl" value="${jms.serverUrl}" />
<property name="userName" value="uname" />
<property name="userPassword" value="pwd" />
</bean>
<bean id="singleConnectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
<property name="targetConnectionFactory" ref="factory"></property>
</bean>