java16

5.

import java.sql.*;
import java.util.*;

public class UnifiedException
{    
	 private HashMap ht;
	 public UnifiedException(){
		 ht = new HashMap();
		 extractDataFromDatabase();
		 //ht.put("/ by zero","发生了除数为零异常");
		 //ht.put(null,"发生了空指针异常");
	 }
	 public void extractDataFromDatabase(){
		  String url   = "jdbc:odbc:myDSN";
		  String query = "SELECT name,note FROM dictionary"; 
		  Connection con=null;
		  Statement stmt=null;
		  ResultSet rs=null;
		  try {			
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");			
			con = DriverManager.getConnection (url, "sa", "");			
			stmt = con.createStatement ();
			rs = stmt.executeQuery (query);			
			//从数据库中提取相应的异常提示信息
			while (rs.next()) {	
				  String tem = rs.getString(1);				  
				  if(tem.equals("null")){
					  ht.put(null,rs.getString(2));	
				  }
				  else{
					  ht.put(tem,rs.getString(2));	
				  }				  
			}				
		   }
		   catch (SQLException ex) {System.out.println ("发生SQL异常");	}
		   catch (Exception ex) {ex.printStackTrace ();}
		   finally{
			 try{
				 if (rs!=null) rs.close();
				 if (stmt!=null) stmt.close();
				 if (con!=null) con.close();
				}
			 catch (SQLException ex) {}
		   }
	 }
	 public void dealException(Exception e){		 
		String str = e.getMessage();
		System.out.println((String)ht.get(str));
	 }    	 
     public static void main(String[] args)
	{
	    int a,b,c;
	    try{
			a=67; b=0;
			//c=a/b;		
			throw new NullPointerException();
	     }
	     catch(Exception e){	      
		  new UnifiedException().dealException(e);
	     }
	}   
}

6.

public class ExeSql{
	 public  boolean execSql(String sqlStr){
		 String[] sql=new String[1];
		 sql[0] =sqlStr;
		 return execSql(sql);
	 }
	 public  boolean execSql(String[] sql){
		 if (sql == null)
		 {
			 return false;
		 }
		 else if (sql.length == 0)
		 {
			 return false;
		 }	 
		 Connection con =null;
		 Statement state=null ;
		 int i=0;
		 try{		
			con =  getConnection();
		    state =con.createStatement();;
			con.setAutoCommit(false);
			for(i = 0 ;i<sql.length;i++){			
				state.executeUpdate(sql[i]);
			}
			con.commit();
			con.close();
			con = null;
			return true;
		 }
		 catch(Exception e){
			 try{
				con.rollback();
				if (i<sql.length)
				 {
					 System.out.println("-------------------");
					 System.out.println("出现错误:"+sql[i]);
					 System.out.println("-------------------");
					 e.printStackTrace();
				 }
			 }
			 catch(SQLException ee){
			 }
			 return false;
		 }
		 finally{
				try{			
					state.close();
					con.close();					
				}
				catch(Exception e){
				}
		 }
		
	 }
	 private Connection getConnection() {
	   //得到同数据库相连接的各种方法
	 }
 }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Java16安装RocketMQ的步骤如下: 1. 准备环境: - 下载并安装JDK 16(官方获取)。你可以从官方网站或其他可信来源下载JDK 16,并按照安装说明进行安装。 - 下载并安装Maven 3.2.x(Maven是构建和管理Java项目的工具)。你可以从Maven官方网站下载并按照安装说明进行安装。 - 下载最新版本的RocketMQ。你可以从Apache RocketMQ的官方网站或GitHub页面下载最新版本的RocketMQ。 2. 安装及启动: - 使用命令行工具下载RocketMQ安装包:wget https://archive.apache.org/dist/rocketmq/4.5.1/rocketmq-all-4.5.1-bin-release.zip - 解压安装包:unzip rocketmq-all-4.5.1-bin-release.zip - 配置环境变量: - 打开/etc/profile文件:vim /etc/profile - 在文件末尾添加以下内容: ```shell export JAVA_HOME=/path/to/jdk16 export PATH=$JAVA_HOME/bin:$PATH export MAVEN_HOME=/path/to/maven3.2.x export PATH=$MAVEN_HOME/bin:$PATH export ROCKET_HOME=/path/to/rocketmq-4.5.1 export PATH=$ROCKET_HOME/bin:$PATH ``` - 刷新配置:source /etc/profile - 修改RocketMQ脚本: - 进入RocketMQ的安装目录:cd /path/to/rocketmq/bin - 修改runserver.sh脚本文件:vim runserver.sh - 将脚本中的JAVA_HOME设置为你的JDK 16安装路径:export JAVA_HOME=/path/to/jdk16 - 保存并退出文件 - 启动RocketMQ: - 启动Name Server:sh bin/mqnamesrv - 启动Broker Server:sh bin/mqbroker -n localhost:9876 3. 测试: - 使用生产者发送消息: - 设置环境变量:export NAMESRV_ADDR=localhost:9876 - 运行发送消息的Demo:sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer - 使用消费者接收消息: - 设置环境变量:export NAMESRV_ADDR=localhost:9876 - 运行接收消息的Demo:sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer 请根据你的实际安装路径和需求进行相应的修改和配置。注意,这里的示例是基于RocketMQ 4.5.1版本的,使用Java16和Maven 3.2.x。如需使用不同的版本,请相应调整下载和配置步骤中的版本号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值