⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transmessageproducer.java

📁 java的一系列产品中包括jsme,jmse,j2ee,本文件提供j2ee实现的源代码.
💻 JAVA
字号:
/*消息发送程序,发向消息队列*/
package JMSTrans;

import java.util.Properties;
import javax.rmi.PortableRemoteObject;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.naming.NamingException;

import javax.jms.JMSException;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;

import java.io.*;
import java.sql.*;
import javax.sql.DataSource;
import javax.naming.NamingException;
import javax.transaction.*;

public final class TransMessageProducer{
  private static QueueSender sender;
  private static TextMessage msg;  
  private static final String url  = "t3://localhost:7001";
	
  public static void main(String [] argv) throws Exception
  {
  	UserTransaction tx=null;
    DataSource ds=null;
  	Connection myConn=null;
    Statement stmt=null;
    ResultSet rs=null;    
    try {
      Properties env = new Properties();
      env.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
      env.put(Context.PROVIDER_URL, url);
      
      Context ctx = new InitialContext(env);      
      QueueConnectionFactory qConFactory = (QueueConnectionFactory)
      		ctx.lookup("weblogic.jms.ConnectionFactory");      
      QueueConnection qCon = qConFactory.createQueueConnection();      
      QueueSession session = qCon.createQueueSession(
      	false, /* not a transacted session */
      	Session.AUTO_ACKNOWLEDGE 
    	);    	
    	Queue messageQueue = (Queue) ctx.lookup("MessageQueue");      
      sender = session.createSender(messageQueue);    	
    	msg = session.createTextMessage();    	    	
    	
    	//获取UserTransaction和数据源
    	try{
    		tx=(UserTransaction)ctx.lookup("javax.transaction.UserTransaction");
    		ds=(javax.sql.DataSource)ctx.lookup("JTA-dataSource");
    	}catch(Exception e){
    		System.out.println("Get JTA-dataSource Error");
    	}
    	
    	//开始JTA事务
    	try{
    		tx.begin();
  			//Create a new JDBC connection from the DataSource:
  			myConn=ds.getConnection();  		
  			//System.out.println("conn succ");  		
  			stmt=myConn.createStatement();
  			//System.out.println("stmt succ");
  		
  			rs=stmt.executeQuery("select emp_no,emp_name from t_employee where emp_no=2001");
  			System.out.println("executeQuery succ");
  		  
  		  String emp_no=null,emp_name=null;
  			while(rs.next()){
					emp_no=rs.getString("emp_no");
					msg.setText(emp_no);
    	    sender.send(msg);//发送消息
					
					emp_name=rs.getString("emp_name");
					msg.setText(emp_name);
  			  sender.send(msg);//发送消息		
				}
  			rs.close();
  			stmt.close();	
    	  tx.commit();
      }catch(Exception e){
    		System.out.println("Service Error: "+e); 
    	}      
    }catch (NamingException ne) {
      System.err.println("The JMS Server and the appropriate "+
        "JMS Destinations must be configured properly.");      
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -