was6中提示警告:"不推荐使用jdbc/datasource JNDI的直接查找",怎么回事?-在线等

Godshow 2005-08-17 09:14:49
找到 ibm的一个页面,没看懂啥意思。高手帮忙翻译翻译。

http://www-1.ibm.com/support/docview.wss?uid=swg1PK06395
...全文
681 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Godshow 2005-10-20
  • 打赏
  • 举报
回复
感谢楼上各位,尤其是humanity。已成功。
OnlyFor_love 2005-10-20
  • 打赏
  • 举报
回复
程序改了以后,你杂web.xml中改了吗?

比如说<res-ref-name>comp/env/jdbc/wfmsdatasource</res-ref-name>
humanity 2005-10-17
  • 打赏
  • 举报
回复
一下内容是 J2EE 1.3 的。

比如, 我的 ibm-web-bnd.xml 中有这段内容,这个将会再部署到 WAS 时自动被管理控制台读出来并创建资源配置,跟我们手工创建一个数据源一样。
<?xml version="1.0" encoding="UTF-8"?>
<webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappbnd="webappbnd.xmi" xmi:id="WebAppBinding_1" virtualHostName="default_host">
<webapp href="WEB-INF/web.xml#WebApp"/>
<resRefBindings xmi:id="ResourceRefBinding_1129470735234" jndiName="jdbc/xa/sample">
<bindingResourceRef href="WEB-INF/web.xml#ResourceRef_1129470735234"/>
</resRefBindings>
</webappbnd:WebAppBinding>

下面这个是 web.xml 中的一段内容,这里 id 和上面的 ref 对应,这样就能映射一个 全局 资源到一个 web容器组件内的资源上来。 资源是配置在服务器的全局资源池中他的 JNDI 为 jdbc/xa/sample, 然后映射到 web 容器这个组件中名字为jdbc/sample.我用 ctx.lookup("java:comp/env/jdbc/sample") 来访问,因为你 ctx.lookup("java:comp/env/xxxx") 时就是在web容器内,在ejb 中调用 ctx.lookup("java:comp/env/xxxx") 则是在 ejb 容器内的,如果没有配置引用你可能找不到资源,或者导致一个上面的警告, Tomcat 5 中没有 ibm-web-bnd.xml ,但是 Tomcat 5 能在一个 context 的配置中添加一个 resource-link 来完成这个映射,方法是在 /META-INF/ 中的context.xml (如果没有这个文件,可以从 %CATALINA_HOME%/conf/Catalina/localhost/manager.xml 拷贝一个,改一下内容,并改名为 context.xml ),在其中添加一个resource-link . 具体操作也可以 jakarta.apache.org/tomcat 下载一个 jakarta-tomcat-admin-x.xx.zip 并解压,用它来完成配置。

<web-app>
<!-- ... 其他内容省略 -->

<resource-ref id="ResourceRef_1129470735234">
<res-ref-name>jdbc/sample</res-ref-name>
<res-type>java.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

</web-app>
humanity 2005-10-17
  • 打赏
  • 举报
回复
web.xml 中配置了资源引用没有?

<web-app>


<resource-ref>
// ...

</resource-ref>

</web>
UPCCPU 2005-10-14
  • 打赏
  • 举报
回复
网上搜索一大把,这个问题没有没有影响到正常使用,也没有关心过
http://blog.blogchina.com/siry/1657473.html
http://www.flashempire.com/home/log_view.php?userid=7&id=12865&date=2005-11
Godshow 2005-10-13
  • 打赏
  • 举报
回复
问题仍然未解决.继续等^
Godshow 2005-09-27
  • 打赏
  • 举报
回复
改了结果如下:
Error 500:Name comp/env/jdbc not found in context "java:".
humanity 2005-09-21
  • 打赏
  • 举报
回复
它都已经在日志里提示得这么清楚,所以你还是应该修改一下代码城楼上那样,

你写代码的 例子 肯定是以前很老的版本上 照抄的, 因为那个时候用的 J2EE 1.2 ,资源配置在应用程序中, J2EE 1.3 开始应该配置资源引用, 资源配置在服务器上,服务器独立管理,应用程序配置资源引用,服务器负责把全局资源池中的资源对应到 Web 组建或者 Ejb 组建内 (java:comp/env 的由来),

WebSphere 5.1 开始 web.xml 中配置资源引用,ibm-web-xml-bnd.xml 配置资源引用的绑定,把一个web.xml 中的引用映射到 一个全局 JNDI 上去, ejb-jar 中配置资源引用, ibm-ejb-jar-bnd.xml 也配置绑定映射。

资源引用名和全局 JNDI 名因为在不同的范围内,所以可以重复,只要同一个范围内不重复就行。
全局JNDI, Web 组件,Ejb 组件内可以给有一个 abc ,因为不同范围。

OnlyFor_love 2005-09-19
  • 打赏
  • 举报
回复
ds = (DataSource) envCtx.lookup("java:comp/env/jdbc/wfmsdatasource");
改成这样试试
Godshow 2005-08-17
  • 打赏
  • 举报
回复
was日志内容如下:

J2CA0294W: 不推荐使用资源 jdbc/wfmsdatasource 的直接 JNDI 查找。使用下列缺省值:[Resource-ref settings] res-auth: 1 (APPLICATION) res-isolation-level: 0 (TRANSACTION_NONE) res-sharing-scope: true (SHAREABLE) loginConfigurationName: null loginConfigProperties: null [Other attributes] res-resolution-control: 999 (undefined) isCMP1_x: false (not CMP1.x) isJMS: false (not JMS)

消息类型
警告

说明

通过 Java 命名目录接口(JNDI)查找资源时,避免使用资源的标准名称。J2EE 编程模型建议使用资源引用和本地 JNDI java:comp/env 上下文。

用户操作

将应用程序修改为与资源引用和本地 JNDI java:comp/env 上下文一起使用引用的 J2EE 编程模型。

-------------------------------
was6中配了名为WFMSDataSource的数据源,JNDI名为jdbc/wfmsdatasource
-------------------------------
我的代码如下:
InitialContext initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("");
ds = (DataSource) envCtx.lookup("jdbc/wfmsdatasource");
connection = ds.getConnection();
------------------------------
请问该如何去掉警告?
cms-Cloud后台管理系统 cms-Cloud 基于Spring Boot、Spring Cloud & Alibaba、OAuth2的前后端分离的后台管理系统,内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源。核心技术前端技术栈 ES6、vue、vuex、vue-router、vue-cli、axios、element-ui后端技术栈 Spring Boot、Spring Cloud & Alibaba、OAuth2系统需求JDK >= 1.8MySQL >= 5.5Maven >= 3.0主要特性1. 完全响应式布局(支持电脑、平板、手机等所有主流设备)2. 强大的一键生成功能(包括控制器、模型、视图、菜单等)3. 支持多数据源,简单配置即可实现切换。4. 支持按钮及数据权限,可自定义部门数据权限。5. 对常用js插件进行二次封装,使js代码变得简洁,更加易维护6. 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击7. Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。8. 国际化支持,服务端及客户端支持9. 完善的日志记录体系简单注解即可实现技术选型1、系统环境Java EE 8Servlet 3.0Apache Maven 32、主框架Spring Boot 2.2Spring Cloud Hoxton.SR3Spring Framework 5.1Spring Security 5.13、持久层Apache MyBatis 3.4Alibaba Druid 1.14、视图层Vue 2.6Axios 0.18Element UI 2.11内置功能(1) 用户管理:用户是系统操作者,该功能主要完成系统用户配置。(2) 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。(3) 岗位管理:配置系统用户所属担任职务。(4) 菜单管理:配置系统菜单,操作权限,按钮权限标识等。(5) 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。(6) 字典管理:对系统经常使用的一些较为固定的数据进行维护。(7) 参数管理:对系统动态配置常用参数。(8) 通知公告:系统通知公告信息发布维护。(9) 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。(10) 登录日志:系统登录日志记录查询包含登录异常。(11) 在线用户:当前系统活跃用户状态监控。(12) 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。(13) 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。(14) 系统接口:根据业务代码自动生成相关的api接口文档。(15) 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。(16) 在线构建器:拖动表单元素生成相应的HTML代码。(17) 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 环境部署准备工作JDK >= 1.8 (推荐1.8版本)Mysql >= 5.5.0 (推荐5.7版本)Redis >= 3.0Maven >= 3.0Node >= 10nacos >= 1.1.0sentinel >= 1.6.0运行系统因为本项目是前后端分离的,所以需要前后端都启动好,才能进行访问。后端运行1、导入cms到Eclipse,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮,选择工作目录,然后点击 Finish 按钮,即可成功导入Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定)2、创建数据库cms-cloud并导入数据脚本cms.sql(必须),quartz.sql(可选)3、创建数据库cms-config并导入数据脚本cms_config.sql(必须)4、配置nacos持久化,修改conf/application.properties文件,增加支持mysql数据源配置。# db mysqlspring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://localhost:3306/cms-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTCdb.user=rootdb.password=password5、打开运行基础模块(启动没有先后顺序)CmsGatewayApplication (网关模块 必须)CmsAuthApplication (认证模块 必须)CmsSystemApplication (系统模块 必须)CmsMonitorApplication (监控心 可选)CmsGenApplication (代码生成 可选)CmsJobApplication (定时任务 可选)CmsFileApplication (文件服务 可选)前端运行# 进入项目目录cd cms-ui# 安装依赖npm install# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。npm install --registry=https://registry.npm.taobao.org 本地开发 启动项目npm run dev打开浏览器,输入:http://localhost:80 (默认账户 admin/admin123)若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功提示前端安装完node后,最好设置下淘宝的镜像源,不建议使用cnpm(可能会出现奇怪的问题)部署系统因为本项目是前后端分离的,所以需要前后端都部署好,才能进行访问后端部署bin/package.bat 在项目的目录下执行然后会在项目下生成 target文件夹包含 war 或jar1、jar部署方式使用命令行执行:java –jar xxxx.jar 或者执行脚本:bin/run.bat2、war部署方式pom.xml packaging修改为war 放入tomcat服务器webapps提示SpringBoot去除内嵌tomcat前端部署当项目开发完毕,只需要运行一行命令就可以打包你的应用# 打包正式环境npm run build:prod# 打包预发布环境npm run build:stage构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 ***.js 、***.css、index.html 等静态文件。通常情况下 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其的 index.html 是后台服务的入口页面。环境变量所有测试环境或者正式环境变量的配置都在 .env.development (opens new window)等 .env.xxxx文件。它们都会通过 webpack.DefinePlugin 插件注入到全局。常见问题如果使用Mac 需要修改application.yml文件路径profile如果使用Linux 提示表不存在,设置大小写敏感配置在/etc/my.cnf 添加lower_case_table_names=1,重启MYSQL服务如果提示当前权限不足,无法写入文件请检查profile是否可读可写,或者无法访问此目录

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧