Oracle JDBC连接BUG解决方案

 更新时间:2020年10月31日 14:39:26   作者:cuisuqiang  
这篇文章主要介绍了Oracle JDBC连接BUG解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

前两天接到一个工作,某网站无法访问了,重启后也一直挂在哪里,起不来。

我刚开始怀疑是程序配置问题,后来发现,只要初始化Spring内容服务就起不来。看了一下spring配置文件里面配置了两个数据源,都是由tomcat管理的jndi数据源。查看了一下发现有一个数据源有问题,使用小程序测试,发现无法连接该数据库,同时也发现一个问题,程序一直挂在哪里,是否能连接却不再返回结果。

网上也有人遇到过这类问题,看来都没有很好的解决方案,当然,我也没有。

我现在只是说明一下问题,并复现一下场景。

你可以使用附件内调试工具或自己下载一个TCP调试工具,然后开启一个端口,然后写一个小程序把这个端口当成Oracle服务端口去访问。

package com;
import java.sql.Connection;
import java.util.Properties;
import oracle.jdbc.driver.OracleDriver;
/**
 * 数据库连接对象管理类
 * @说明
 * @author cuisuqiang
 * @version 1.0
 * @since
 */
public class ConnectionManager {
	private static final String url = "jdbc:oracle:thin:@192.168.1.155:1521:orcl";
	private static final String username = "scott";
	private static final String userpass = "bi123";
	public static void main(String[] args) throws Exception {
		Connection conn = getConnection("1");
		if (null != conn) {
			System.out.println(conn.toString());
		} else {
			System.out.println("NO LINK");
		}
	}
	public static Connection getConnection(String tar) {
		Connection conn = null;
		try {
			OracleDriver driver = new OracleDriver();
			Properties properties = new Properties();
			properties.put("user", username);
			properties.put("password", userpass);
			conn = driver.connect(url, properties);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conn;
	}
}

看服务窗口:

可以看到,程序发来了登录信息,但是我们不回复,然后就会看到,程序死在了:

conn = driver.connect(url, properties);

获得连接这里!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • android中判断服务或者进程是否存在实例

    android中判断服务或者进程是否存在实例

    本篇文章主要介绍了android中判断服务或者进程是否存在实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Spring Cloud学习教程之Zuul统一异常处理与回退

    Spring Cloud学习教程之Zuul统一异常处理与回退

    Spring Cloud Zuul对异常的处理整体来说还是比较方便的,流程也比较清晰,下面这篇文章主要给大家介绍了关于Spring Cloud学习教程之Zuul统一异常处理与回退的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-04-04
  • SpringBoot中HttpSessionListener的简单使用方式

    SpringBoot中HttpSessionListener的简单使用方式

    这篇文章主要介绍了SpringBoot中HttpSessionListener的简单使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 将java项目打包成exe可执行文件的完整步骤

    将java项目打包成exe可执行文件的完整步骤

    最近项目要求,需要将java项目生成exe文件,下面这篇文章主要给大家介绍了关于如何将java项目打包成exe可执行文件的相关资料,文章通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Java在PDF中替换文字详解及可能遇到的问题

    Java在PDF中替换文字详解及可能遇到的问题

    本文详细介绍了如何使用Java和Spire.PDF for Java库在PDF文档中批量替换文字,包括替换特定文字的所有实例、第一个实例以及使用正则表达式,同时,探讨了可能遇到的问题及其解决方案,需要的朋友可以参考下
    2024-09-09
  • springboot整合企微webhook机器人发送消息提醒

    springboot整合企微webhook机器人发送消息提醒

    这篇文章主要为大家介绍了springboot整合企微webhook机器人发送消息提醒,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 使用spring通过aop获取方法参数和参数值

    使用spring通过aop获取方法参数和参数值

    这篇文章主要介绍了使用spring通过aop获取方法参数和参数值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • HTTP基本认证(Basic Authentication)的JAVA实例代码

    HTTP基本认证(Basic Authentication)的JAVA实例代码

    下面小编就为大家带来一篇HTTP基本认证(Basic Authentication)的JAVA实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • scala+redis实现分布式锁的示例代码

    scala+redis实现分布式锁的示例代码

    这篇文章主要介绍了scala+redis实现分布式锁的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • java实现航空用户管理系统

    java实现航空用户管理系统

    这篇文章主要为大家详细介绍了java实现航空用户管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论