Tomcat 配置Oracle JNDI数据源

Kettle工具通过JNDI连接Oracle集群 我们在用Kettle ETL工具的时候,可能会遇到数据库为Oracle集群的模式,或者有时候目标库为oracle,在持续的循环调度中,经常发现oracle的数据库连接中断的情况,此时,在Kettle中有一个JNDI的连接方式能很好的解决此模式的连接。 阅读详情

1. 描述

最近负责一个小功能,项目可以用tomcat或weblogic启动。刚开始用weblogic启动,但是在开发的过程中太费力,更改一个类就需要更新weblogic,更新过程实在太慢,很影响开发效率。于是决定用Tomcat配置jndi,减少开发耗费的时间。

Tomcat部署项目:
在这里插入图片描述

2. 分析

刚开始在网上baidu使用Tomcat配置jndi,更改的文件是Tomcat的安装包的server.xml和content.xml。在eclipse中启动Tomcat还是报空指针连接异常,所以断定数据源没有配置成功。个人认为可能是需要将项目打包到webapps才可以使用Tomcat安装路径下配置的jndi。后来偶然发现其实eclipse中有一个Servers文件夹,这里包含eclipse所配置的Tomcat。content.xml和server.xml也是配置数据源的文件,所以我们可以从Servers中配置Tomcat让eclipse项目可以访问jndi。

Servers目录:
在这里插入图片描述

3. 解决方法

一、在server.xml中添加数据库连接地址,在中添加如下内容:
示例数据源:

<Resource name="jdbc/TEST"
          auth="Container"
		  type="javax.sql.DataSource"
		  driverClassName="oracle.jdbc.driver.OracleDriver"
		  url="jdbc:oracle:thin:@172.11.11.11:1521:test"
		  username="test"
      password="test"/>

二、在context.xml添加jndi全局变量,在 </Context>上面添加如下内容:

<ResourceLink global="jdbc/TEST" name="jdbc/TEST" type="javax.sql.DataSource"/>

属性中的name对应的值要和上一步 Resource 里面的name值一样。如果有多个数据源,就对应多个Resource和ResourceLink即可。
在这里插入图片描述
三、在eclipse项目的web.xml中配置dataSource

<resource-ref>
        <res-ref-name>jdbc/TEST</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
Tomcat 下配置JNDI for Oracle 1.  tomcat 官网文档参考  http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html 2.  测试: 在tomcat 的context.xml中添加如下代码:一般在tomcat安装目录的\conf  \目录下 <Resource name="jdbc/myoracle" 阅读详情

相关推荐

windows10+tomcat8+oracle11g 部署润乾 v2018 完整过程

部署环境:win10+tomcat8+jdk1.8+oracle11g(当然jdk版本不是必须这么高,1.6以上就行) 1、将自己报表 H:\润乾报表2018\report\web路径下的demo复制到tomcat目录H:\Tomcat\apache-tomcat-8.5.34-windows-x64\apache-tomcat-8.5.34\webapps下(此处我并重命名为vdemo2018...

wyc_595998412的博客 1491

Java web项目采用JNDI方式在Tomcat服务器中配置Oracle数据源

前言:最近在研究邮箱激活账号,借此介绍一下Tomcat配置数据源的方法 一,JNDI简介与优点 JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。在Tomcat服务器中配置JNDI参数,定义一个数据源,在程序中通过数据源名称引用数据源从而与数据库交互,避免了程序与数据库之间的紧耦合,使应用...

赴前尘 2485

模拟ic入门——设计一个带隙基准Bandgap(三)高阶温度补偿与启动电路设计

本节我们来介绍高阶温度补偿,以及一些启动电路的设计,附上一些经典的论文供大家学习

qq_64956710的博客 1万+

JNDI配置

我们的应用一般都放在这个虚拟主机下。指定的虚拟主机内可用就是说,在tomcat服务器配置的虚拟主机中,只有指定的那个虚拟主机上跑的应用才能使用。如果我们用appname来代表这个指定的这个指定的应用的名字,那么元素的定义应该被放置在 ${CATALINA_HOME}/conf/${enginename}/${hostname}/${appname}.xml文件中。顾名思义,一个指定的应用可用的context元素,意味着这是一个只有指定的引擎,指定的虚拟主机,指定的应用才可以使用的context元素。

zhuQQ1的博客 791

【Python爬虫】股票信息定向爬取

【Python爬虫】股票信息定向爬取:通过requests-bs4-re技术路线爬虫获取上交所和深交所所有股票的名称和交易信息

qq_39321802的博客 1502

virtualbox虚拟机里面最顶部没有控制、设置和帮助等选项

无意中操作,导致virtualbox虚拟机里面最顶部没有控制,设置和帮助选项  virtualbox虚拟机窗口显示如下如: 如何设置,窗口显示如下图所示呢: virtualbox虚拟机窗口模式显示设置,切换可以通过如下图所示操作进行切换: PS:一定要是右边的Ctrl+C

WEL测试 8780

Tomcat配置数据源(JNDI方式)&JDBC(与Oracle的连接)

然后在tomcat目录/conf/server.xml文件里相应的元素,添加如下子元素: <Resource name="引用资源的JNDI名" auth="Container" type="javax.sql.DataSource" driverClassName="com.pointbase.jdbc.jdbcUniversalDriver(自己的jdbc驱动)" url

sunvsjay1890的专栏 2万+

基于IC动态加权的机器学习多因子选股策略:从模型融合到实战回测

在量化投资领域,多因子选股模型通过挖掘市场数据中的有效信号来预测股票收益。其核心原理在于利用统计学与机器学习算法,从海量因子中识别出与未来收益具有稳定相关性的特征。这一技术的核心价值在于将主观投资决策转化为系统化、可重复的客观过程,从而在控制风险的前提下追求超额收益。其典型应用场景包括股票阿尔法策略构建、Smart Beta产品设计以及资产配置中的股票筛选环节。本文聚焦于如何通过信息系数(IC)这一关键指标,动态融合Ridge回归、MLP神经网络和随机森林等多个预测模型,构建一个能够自适应市场风格轮动的选股

weixin_34216614的博客 451

在tomcat中利用JNDI配置数据源,连接到远程Oracle数据库

在开发中,我需要本地tomcat中的工程可以连接到远程的数据库(服务器上的Oracle数据库),除了要在本地工程中配置远程Oracle数据库的登录信息外,还需要在本地tomcat的\conf目录下的context.xml文件中添加以下信息(红色字体部分):         WEB-INF/web.xml                 -->  

IRhythm的博客 3114

基于YOLOv8的MVTec AD缺陷检测系统设计与实现

速度快,精度高;支持 anchor-free 架构;支持实例分割和图像分类;模块化代码,易于部署与改进;完美兼容 ONNX、TensorRT 等推理框架;官方支持多平台训练和推理(CPU/GPU)。YOLOv8 是工业视觉检测落地非常理想的选择。MVTec AD(Anomaly Detection)数据集包括15类工业对象,每个对象包括多个子类缺陷(例如 “scratch”, “crack”, “hole”)及正常图像。类别缺陷子类bottlecablecapsule。

YOLO 931

家用智能监控摄像机如何使用NAS进行存储/备份(小米智能摄像机如何解决群晖 / 飞牛 NAS 识别失败、文件目录不显示问题)

小米摄像头NAS存储总出问题?🤯 别慌!本文揭秘NAS底层逻辑,群晖、飞牛实战指南。手把手教你排查解决所有难题,轻松搞定监控录像安全备份!🔒

XiaoqiangClub的博客 2694

tomcat配置oracle的JNDI,database – 在Tomcat中为Oracle 11g安装JNDI数据源

我在Windows XP上,使用Tomcat 6(直到本月底才能升级到7).我一直在努力为Oracle 11g实现JNDI数据库资源而没有成功.我的计算机上的许多其他应用程序与相同的数据库凭据连接得很好.我使用直接JDBC制作了测试JSP并将其放入Tomcat.它连接也很好.我修改了我的conf / server.xml的一部分,如下所示:auth="Container"type="javax.s...

weixin_39771351的博客 574

【2023校招】网易雷火_研发岗_笔试题解

几个月没写题,果然水平不在线了hh,AK更难实现喽,当天只AK了疯狂游戏; 题目描述和数据等尽量多的CV到了DEVC里,可能不够细节和准确; 下面进入正题,分享我们此次笔试的题目描述和代码设计吧~.........

米莱虾 4544

Eclipse中Tomcat配置JNDI链接Oracle数据源例子

最近换到新公司,第一次接触JNDI方式连接数据库。 一开始怎么找也没找到数据库地址在哪里配置的,后面跟代码发现spring中初始化dataSource是通过这个类JndiObjectFactoryBean传入jndiName参数,果断百度JndiObjectFactoryBean才知道有JNDI这种方式获取dataSource。 由于项目是分布式的(统一使用Jboss),如果想分开部署配置Jb...

panzm_csdn的博客 2171

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

tomcat7 oracle jndi,Tomcat7 非全局 JNDI 数据源配置

数据源(Data Source)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体。在数据源中存储了所有建立数据库连接的信息。在JDBC的操作中,打开和关闭数据库连接,是最耗费数据库资源的,我们可以在服务器上存放一定量的数据库连接,每当程序要连接数据库时,就将这些链接给它们,而一旦程序退出数据库操作时,要将这些链接返回给服务器。数据源的基本概念:1、通过Connection Pool 管理...

weixin_36276359的博客 209

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

eclipse中tomcat配置JNDI链接Oracle数据源例子

  最近换到新公司,第一次接触JNDI方式连接数据库。   一开始怎么找也没找到数据库地址在哪里配置的,后面跟代码发现spring中初始化dataSource是通过这个类JndiObjectFactoryBean传入jndiName参数,果断百度JndiObjectFactoryBean才知道有JNDI这种方式获取dataSource。   由于项目是分布式的(统一使用Jboss),如果想分开...

weixin_30443813的博客 203

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

eclipse mysql jndi_Eclipse +Tomcat配置JNDI数据源

以下是具体配置的步骤:1.首先配置Tomcat下的jndi数据源。具体存放目录apache-tomcat-7.0.59\conf\Catalina\localhost下osh.xmlname="jdbc/osh" auth="Container"type="javax.sql.DataSource"driverClassName="oracle.jdbc.driver.OracleDriver"...

weixin_35916239的博客 309

weblogic 数据源 jdbc:oracle:thin:@,(tomcat、weblogic)Jndi查找数据源配置

这是我在项目当中积累的资料关于配置tomcat和 weblogic的数据源,贴出来和大家分享,有什么问题还请多指教,共同学习,共同进步一、tomcat数据源的配制★★注意将数据库驱动程序最好放在common里,tomcat最先加载这里的驱动,放在server里有时候会出现找不到驱动程序的错误在tomcat5.5中需要下载apache-tomcat-5.5admin.tar.rar 这个包才可以进行...

weixin_34369597的博客 390

JNDI+Tomcat配置+整合Spring

整合JNDI+Tomcat(适用于Tomcat6+7,Tomcat8不可以)+Spring。 主要参考:https://www.cnblogs.com/xdp-gacl/p/3951952.html 1、Tomcat配置 将对应的数据库jar放在Tomcat的lib目录下。 修改**\apache-tomcat\conf文件夹下server.xml配置文件。具体配置内容: <!-...

weixin_41488294的博客 369

java jdk 数据源,在Tomcat中为Oracle 11g安装JNDI数据源

I'm on Windows XP, using Tomcat 6 ( I can't upgrade to 7 until the end of the month ).I've been trying to implement a JNDI database resource to Oracle 11g without success.A number of other application...

weixin_39620065的博客 134

tomcat oracle数据源配置,配置全局数据源,Tomcat中配置数据源

1、配置全局的jndi在Tomcat的安装目录下的conf/目录中找到context.xml文件,打开,在里添加如下代码:auth="Container"type="javax.sql.DataSource"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/family"username="root"pa...

weixin_39654465的博客 1080

Tomcat和Weblogic配置JNDI

Tomcat 7配置JNDI的标准文档可以在http://127.0.0.1:8080/docs/jndi-resources-howto.html中直接找到。其他版本的路径可能稍有不同,可以先访问http://127.0.0.1:8080/再根据组织目录找到。下面以tomcat 7配置oracle数据库为例: conf\context.xml 根节点下添加 <Resource nam

linjinxiao的专栏 2160

JNDI详细配置及使用

JNDI在项目中使用很多,下面介绍一下JNDI的配置和使用

Crazyer0214的博客 4121

Spring配置JNDI的解决方案

Spring配置JNDI的解决方案 我的配置环境是:Spring4.3 + Tomcat8.5 + Oracle 说明: 1.$TOMCAT_HOME代表Tomcat的安装目录。 第一步:在Tomcat的$TOMCAT_HOME/conf/context.xml文件中配置数据源。 <Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" ...

qq_17586173的博客 1408

tomcat8 jndi oracle,tomcat环境使用jndi连接oracle数据库

1.在项目WEB-INF/web.xml中增加如下代码:Admin connect to DBjndiconnjavax.sql.DataSourceContainerres-ref-name很重要,与context.xml中的name要一致。2.tomcat的context.xml中增加配置如下:maxActive="100" minIdle="10" maxWait="10000" initi...

weixin_29150195的博客 662
上一篇: The archive: D:/apache-tomcat-9.0.8/bin/bootstrap.jar which is referenced by the classpath, does not
下一篇: 英语日常口语对话
CZ__
博客等级 码龄9年 97粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值