JNDI之java:comp/env

数据池连接Name jdbc is not bound in this Context解决方案 配置tomcat7sqlserver数据连接池java 利用数据源对象建立数据库连接时的错误: Name jdbc is not bound in this Context 解决方案 立即下载
在描述JNDI,例如获得数据源时,JNDI地址 有两种写法,例如同是 jdbc/testDS 数据源:

A:        java:comp/env/jdbc/testDS
B:        jdbc/testDS

这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实现与“映射”的概念相 同,而B方法,则是一个硬引用。
java:comp/env 是环境命名上下文(environment naming context(ENC)),是在EJB规范1.1以后引入的,引入这个是为了解决原来JNDI查找所引起的冲突问题,也是为了提高EJB或者J2EE应 用的移植性。
在J2EE中的引用常用的有:
        JDBC 数据源引用在java:comp/env/jdbc 子上下文中声明 
        JMS 连接工厂在java:comp/env/jms 子上下文中声明 
        JavaMail 连接工厂在java:comp/env/mail 子上下文中声明 
        URL 连接工厂在 java:comp/env/url子上下文中声明

可以通过下面的结构示意来发现这两种描述的不同之处:
A:       java:comp/env/jdbc/testDS(虚地址)   ------>    映射描述符   ------>        jdbc/testDS (实际的地址)
B:       jdbc/testDS (实际的地址)
从这种结构上来看,A的确是便于移植的。

再来看一个例子:
假如你需要获取datasource,例如:
dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/testDS");
那么在配置文件中进行资源映射时,在web.xml中,
    
 <resource-ref>
        <res-ref-name>jdbc/testDS</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>

在相应的资源配置xml中(不同的应用服务器均不同,WSAD中,可以进行可视化的设置),
    <reference-descriptor>
      <resource-description>
        <res-ref-name>jdbc/DBPool</res-ref-name>
        <jndi-name>OraDataSource</jndi-name>
      </resource-description>
    </reference-descriptor>

Tomcat5.5h server.xml中加入:
<Context
            docBase="D:/workspace/Hello/WebContent"
            path="/Hello"
            reloadable="true">
          <Resource
            name="jdbc/DBPool"
            type="javax.sql.DataSource"
            maxActive="100"
            maxIdle="10"
            maxWait="3000"
            driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
            url="jdbc:sqlserver://192.168.1.37:1433;DatabaseName=xxx;user=sa;password=sa123"/>
        </Context>
实际服务器中的JNDI名字是OraDataSource,逻辑名jdbc/DBPool只是用来和它作映射的,这样做的好处是为了提高可移植性,移植的 时候只需要把配置文件改一下就可以,而应用程序可不用改动。


java:comp/env是标准的J2EE环境查找规则使用这种方式必须做一次环境名到JNDI名的映射这种隔离使得在写程序时不必关注真正的 JNDI名字其实说白了跟把JNDI名放到配置文件里是一样的用法,如把java:comp/env/my/datasource映射到 my.ora.dataource

补充一下不加的时候是全局的JNDI名,这样将造成应用间EJB的耦合太高,不建议使用 


注:

java:comp/env/   前面是固定的   
java:comp/env是标准的J2EE环境查找规则   

comp是company的缩写

env是environment的缩写
使用这种方式必须做一次环境名到JNDI名的映射 
这种隔离使得在写程序时不必关注真正的JNDI名字 
其实说白了跟把JNDI名放到配置文件里是一样的   


其他扩展:

J2EE 1.3 ,资源的管理绑定一个资源,但是使用时应该先配置资源引用 。 
你在 web.xml 中或者 ejb-jar.xml 上配置对 EJB 或者 DataSource 的引用才能使用相应的资源。 
不管是资源的配置还是资源引用的配置都可以在布署的阶段来修改的, 但是程序可以不用改,你只要让引用不变就行了,因为你自己容器中将要放多少东西你写代码时就知道(就是一个项目要用的东西),但是你的服务器中将来要放多 少资源你写代码时是不知道的,因为资源是在整个服务器,很容易在将来的某个时候可能多得不可管理。 

在 web.xml 和 ejb-jar.xml 都可以有个 mycompay/abc 这个资源引用,名字相同没关系,因为它们在不同的容器中,只要同一个容器中唯一就行了,资源引用与实际资源的JNDI 相同也没关系。 

现在的应用服务器都支持 J2EE 1.3,都会有个把 资源引用对应到一个实际的资源的这么一个配置文件。 像 IBM WebSphere 在 web 项目中 /WEB-INF/ibm-web-bnd.xml 就是用来将一个资源引用绑定到实际的 JNDI 资源上去的, 而EJB 项目中是 ibm-ejb-jar-bnd.xml 。 
我用 &Web&Sphere &Application &Developer 开发的时候, 在 web.xml 中添加一个资源引用,比如对数据源的引用 ,WSAD 会自动到 ibm-web-bnd.xml中添加一个相应的绑定条目,如果我在 ejb-jar.xml 中添加一个 Local Ejb Ref , WSAD 也会自动到 ibm-ejb-jar-bnd.xml 中添加一个相应的条目。   


假如你写了一个EJB,获取datasource如:dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/DBPool"); 
那么在配置文件中进行资源映射时,在ejb-jar.xml中, 
      <resource-ref> 
        <res-ref-name>jdbc/DBPool</res-ref-name> 
        <res-type>javax.sql.DataSource</res-type> 
        <res-auth>Container</res-auth> 
      </resource-ref> 
在weblogic-ejb-jar.xml中, 
    <reference-descriptor> 
      <resource-description> 
        <res-ref-name>jdbc/DBPool</res-ref-name> 
        <jndi-name>OraDataSource</jndi-name> 
      </resource-description> 
    </reference-descriptor> 
//转者注:如果是在jboss则在jboss.xml中做如下修改 
    <resource-managers> 
        <resource-manager> 
            <res-name>jdbc/DBPool</res-name> 
            <res-jndi-name>OraDataSource</res-jndi-name> 
        </resource-manager> 
    </resource-managers> 
实际服务器中的JNDI名字是OraDataSource,逻辑名jdbc/DBPool只是用来和它作映射的,这样做的好处是为了提高可移植性,移植的 时候只需要把配置文件改一下就可以,而应用程序可不用改动。 

假如你写了一个一般的应用程序,想直接通过JNDI来获取数据源,那么直接lookup(“mytest”)就可以了(假如服务器上的JNDI为 mytest),用第一种写法反而会报错的。
Orange3实战教程:文本挖掘---标注语料库地图 Oreange3,文本挖掘,标注语料库地图用于在二维投影中可视化、聚类文档,并用关键词进行标注。 阅读详情

相关推荐

保姆级教程:用LoRA微调Chinese-Mistral-7B模型,并一键部署到Ollama(附完整代码)

本文提供了一份详细的LoRA微调Chinese-Mistral-7B模型的保姆级教程,涵盖环境配置、数据预处理、微调实战、模型量化及Ollama部署全流程。通过实战案例和完整代码,帮助开发者快速构建专属中文大模型,适用于医疗、法律等垂直领域。

weixin_30369041的博客 249

java:comp/env

http://lym6520.iteye.com/blog/316169 ENC的概念: The application component environment is referred to as the ENC, the enterprise naming context. 应用组件的业务逻辑应该是ENC中取得对象。组件提供者使用标准的部署描述符指定必需的ENC入口。这些EN...

jackyliucn的博客 436

【Apollo规划模块探秘】—— 场景(Scenario)驱动的决策引擎

本文深入解析了Apollo自动驾驶平台规划模块的核心机制——场景(Scenario)驱动的决策引擎。文章通过类比日常驾驶,阐述了规划模块如何像经验丰富的司机一样,根据不同的路况(如车道跟随、无保护左转)切换不同的“驾驶模式”。重点剖析了场景管理器(ScenarioManager)如何基于感知信息进行场景判断与切换,以及“场景-阶段-任务”双层状态机如何精密协作,实现灵活、高效且安全的轨迹规划。

rnn9storyteller的博客 278

"Java:comp/env/"讲解与JNDI

我们在使用JNDI调用某个对象时,会有下述两种方式 context.lookup(“java:comp/env/XXX”) context.lookup(“XXX”) context.lookup(“java:comp/env/XXX”)只能用在J2EE环境,如果你自己写一个main函数,想通过context.lookup(“java:comp/env/XXX”)这样的方式来访问JNDI

郭東的博客 2万+

安卓/苹果/支付宝sdk拉起支付宝h5/app支付

代码】安卓/苹果/支付宝sdk拉起支付宝h5/app支付。

m0_68973987的博客 5382

轻量级NAS的隐秘战场:比特米盒CumeBox2与CasaOS的生态融合实践

本文探讨了比特米盒CumeBox2轻量级NAS设备与CasaOS操作系统的生态融合实践。通过硬件选型、系统部署、性能优化和应用场景分析,展示了如何将CumeBox2与CasaOS深度整合,打造经济实用的家庭数据管理中心,特别适合入门级用户和小型办公环境。

rl6adventurer的博客 892

小议JNDI之java:comp/env

在描述JNDI,例如获得数据源时,JNDI地址 有两种写法,例如同是 jdbc/testDS 数据源: A:        java:comp/env/jdbc/testDS B:        jdbc/testDS 这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实现与“映射”的概念相 同,而B方法,则是一个硬引用。 java:comp/e

滔滔的专栏 1万+

VMware ESXi +DELL虚拟化存储磁盘容量处于紧急状态问题的处理

1、环境介绍 exsi server两台(DELL R730 ): 192.168.3.206 VMware EXSi6.5 192.168.3.207 VMware EXSi6.5 磁盘存储柜一台(DELL SC2000): 192.168.3.208 2、故障处理 由于前期规划的卷空间过大,虚拟机文件逐年增大以后,造成卷的磁盘占用过与整个磁盘空间的容量,虚拟化平台可用容量爆掉,DELL SC2000自动切换到紧急状态,禁止所有磁盘I/O,exsi主机上的虚拟机无法开机 首先,安装

wolf1105的博客 3530

【jdbc】 jndi与“Java:comp/env/“语法

文章目录1. 什么是jndi2. jndi配置2.1 weblogic例子:2.2 其他服务器 1. 什么是jndi jndi的作用看起来和datasource查不多,定义一个数据源,比如更换了数据库或需要更改配置信息,我们只需要修改注册信息,代码中引入的是一个key(资源名),只要key不变,因此代码也不需要修改。 传统用法,非jndi: Connection conn=null; try { Class.forName("com.mysql.jdbc.Driver", true, Thread.c

m0_45406092的博客 1914

【Bug已解决】npm install -g @anthropic-ai/claude-code 出现 EACCES: permission denied 解决方案

方案适用场景推荐指数nvm 管理 Node长期开发环境,一次配置永久生效⭐⭐⭐⭐⭐修改 npm 全局目录不想引入 nvm,快速解决⭐⭐⭐⭐修复现有目录权限之前用过 sudo 装包,需要修复⭐⭐⭐Windows 管理员/改目录Windows 平台专用⭐⭐⭐⭐官方原生安装脚本想彻底避开 npm 权限问题⭐⭐⭐⭐报的本质是npm 全局安装目录的属主权限与当前执行用户不匹配,而不是 npm 或 Claude Code 本身有问题。不要用sudo"强行"解决。

一键难忘的博客 1万+

C# 从数秒到毫秒:MySQL+Redis百万数据优化实战全解析

在处理百万级数据时,传统单体数据库常面临查询效率低下、数据库负载过高和用户体验差等问题。为解决这些性能瓶颈,可以采用MySQL分库分表、Redis缓存和异步统计的组合策略。 数据库分片:通过水平分表和分库实现,将单表数据分散到多个物理表或数据库实例中,降低单点负载。 Redis缓存:利用Redis缓存高频数据,减少数据库查询压力,提升响应速度。 异步统计:通过消息队列(如RabbitMQ)解耦统计任务,后台处理非实时任务,避免阻塞主流程。 这些优化策略能够显著提升系统性能,确保在高并发和大数据量场景下的稳定

墨夶的博客 852

理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处。

在描述JNDI,例如获得数据源时,JNDI地址有两种写法,例如同是 jdbc/testDS 数据源: A: java:comp/env/jdbc/testDS B: jdbc/testDS 这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实现与“映射”的概念相同,而B方法,则是一个硬引用。 java:comp/env 是环境命名...

zhaoyanmi的博客 550

GEO的工作原理,以及GEO会催生出更多的爬虫岗位吗?

摘要: GEO(生成式引擎优化)是提升内容在AI搜索(如ChatGPT、Perplexity等)中引用率的新策略,核心在于优化内容的可抓取性、语义清晰度、权威性。与传统SEO不同,GEO聚焦AI的引用逻辑,需通过爬虫监控AI回答、逆向分析引用源特征(如结构化数据、权威背书),并构建自动化工具优化内容。爬虫工程师需转型为“AI可见性基础设施构建者”,重点关注高权威站点、知识库及官方信息源,同时确保技术可抓取性(如放行AI爬虫UA)。GEO的核心是从“排名”转向“被AI引用”,强调实体识别与动态对话适配。

数据知道的博客 4640

『JNDI』 java:comp/env/jdbc/datasource 与 jdbc/datasource区别

在描述JNDI,例如获得数据源时,JNDI地址有两种写法,例如同是 jdbc/testDS 数据源: A: java:comp/env/jdbc/testDS B: jdbc/testDS 这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实现与“映射”的概念相同,而B方法,则是一个硬引用。 java:comp/env 是环境命名...

发光并非太阳的专利,你也可以发光。 598

深度学习工具包 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")

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

JNDI中 java:comp/env 是什么意思?

J2EE   上下文环境变量前缀,一般有如下几种:        java:/comp/env/jdbc        java:/comp/env/url        java:/comp/env/mail        java:/comp/env/jms    在部署和运行EJB中,容器将在java:/comp/env/处创建一个JNDI上下文环境,在该环境中,可以查找获得 

lykangjia的专栏 1532

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

应用管理 JNDI里面加和不加java:comp/env/前缀有什么区别?

应用管理 JNDI里面加和不加java:comp/env/前缀有什么区别?java:comp/env是标准的J2EE环境查找规则,使用这种方式必须做一次环境名到JNDI名的映射,这种隔离使得在写程序时不必关注真正的JNDI名字,其实说白了跟把JNDI名放到配置文件里是一样的,用法如下:如把java:comp/env/my/datasource映射到my.ora.dataourceweb.x

BTXWUHEN的专栏 2491

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

理解java中的JNDI:comp/env/jdbc/datasource 和 jdbc/datasource 的區別

Understanding JNDI in the java: comp / env / jdbc / datasource and jdbc / datasource difference     [Original] understanding of JNDI in the java: comp/env/jdbc/datasource and jdbc/datasource diffe...

听雨轩 458

java comp env_Java:comp/env/"讲解与JNDI(转)

我们在使用JNDI调用某个对象时,会有下述两种方式,那么context.lookup("java:comp/env/XXX")和直接context.lookup("XXX")的有什么区别呢?其实说得简单点:context.lookup("java:comp/env/XXX")只能用在J2EE环境,即是如果你自己写一个main函数,想通过context.lookup("java:comp/env/X...

weixin_36293680的博客 611

java 获取 jndi_Websphere下获取jndi、java:comp/env/cas与jdbc/cas的区别

Websphere下获取jndi,java:comp/env/cas与jdbc/cas的区别:A.lookup(“java:comp/env/cas”)与lockup(“jdbc/cas”)在websphere中都可以使用。两者的差别在于,java:comp/env/cas是websphere建议使用的方式。如果你当前的线程属于websphere的线程,建议使用java:comp/env/cas的...

weixin_30902943的博客 303

java comp env 读取文件_"Java:comp/env/"讲解与JNDI

我们在使用JNDI调用某个对象时,会有下述两种方式context.lookup(“Java:comp/env/XXX”) context.lookup(“XXX”)context.lookup(“java:comp/env/XXX”)只能用在J2EE环境,如果你自己写一个main函数,想通过context.lookup(“java:comp/env/XXX”)这样的方式来访问JNDI服务,这是不...

weixin_39597323的博客 312

java:/comp/env/jdbc/testDbJndi通过JAVA代码读取JNDI获取数据源

java:/comp/env/jdbc/testDbJndi通过JAVA代码读取JNDI获取数据源

weixin_44188105的博客 753

java jndi使用_javaWeb中JNDI的使用,为什么要加java:comp/env前缀

转载自(http://blog.youkuaiyun.com/guodongsoft/article/details/52399527)我们在使用JNDI调用某个对象时,会有下述两种方式context.lookup(“java:comp/env/XXX”)context.lookup(“XXX”)context.lookup(“java:comp/env/XXX”)只能用在J2EE环境,如果你自己写一个mai...

weixin_39783915的博客 312

理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处

[原创]理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处。 在描述JNDI,例如获得数据源时,JNDI地址有两种写法,例如同是 jdbc/testDS 数据源: A: java:comp/env/jdbc/testDS B: jdbc/testDS 这两种写法,配置的方式也不尽...

java技术专栏 670
上一篇: 详解JNDI的lookup资源引用 java:/comp/env
下一篇: EJB+Annotation实现AOP
大树叶
博客等级 码龄12年 1171粉丝 664原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值