适用于JDeveloper 11gR2的Glassfish插件

众所周知, ADF Essentials是使用Java构建Web应用程序的绝佳框架,它可以自由开发和部署。 您可以在Glassfish(3.1+)服务器上部署ADF Essentials应用程序。 但是,JDeveloper并不带有嵌入式Glassfish服务器,而是带有嵌入式Weblogic服务器。 在本文中,我们将讨论在ADF Essentials应用程序开发期间何时使用集成的Weblogic服务器以及何时应使用外部Glassfish服务器。

你需要什么

  • JDeveloper 11gR2(11.1.2.3.0)或更高版本。
  • Glassfish 3.1或更高版本 。

一旦安装了上述软件,就可以开始创建ADF Essentials应用程序。 在线上有大量文档 :书籍, 教程和视频可以为您提供帮助。 我的建议是尝试在开发过程中使用集成的Weblogic服务器,以便您可以直接从JDeveloper调试和运行应用程序。 完成某些功能的开发后,最后在Glassfish服务器上测试开发,如果要开发ADF Essentials应用程序,则这是最可能在生产环境中使用的应用程序服务器。 确保已按照此处所述为ADF Essentials应用程序配置了Glassfish服务器: https : //blogs.oracle.com/shay/entry/deploying_oracle_adf_applications_to

您安装的JDeveloper版本具有内置功能,可将您的应用程序部署到Glassfish服务器。 但是,必须先启动服务器,然后才能部署应用程序。 一种方法是在JDeveloper之外使用Glassfish服务器控件(一旦安装Glassfish,就会安装它们)。 我推荐的方法是使用用于JDeveloper的Glassfish插件,以便您可以直接从IDE启动/停止Glassfish服务器! 该插件是由Shay Shmeltzer创建的,并且1.3版已修改为可以在Linux上运行(对我来说@aa_lopez ),而可以在Mac上运行(对David Aroca而言 )。

该插件可以在help-> check中找到更新 。 此处提供更多信息: https : //blogs.oracle.com/shay/entry/glassfish_extension_for_oracle_jdeveloper 。 如果要对源代码做出贡献,可以在java.net上找到该项目: http : //java.net/projects/jdev-3rd-party-ext/sources/svn-repository/show 。 安装插件后,您的JDeveloper将显示四个新按钮:

表格从左到右:

  • 第一个允许您启动Glassfish服务器。
  • 第二个让您停止Glassfish服务器。
  • 第三个以调试模式启动Glassfish服务器。
  • 第四个启动Glassfish服务器Web控制台应用程序。

在开始使用这些新按钮之前,您必须配置Glassfish服务器的路径。 为此,请转到“ 工具”->“首选项”,然后选择“ Glassfish首选项”

默认情况下,该插件随附Windows OS路径。 因此,如果您使用的是Linux或Mac,则必须更改这些路径才能使插件按钮起作用。 就我而言,我使用的是Linux,因此我更改了路径以匹配安装Glassfish服务器的路径。

注意

我必须在启动命令中添加–verbose选项,否则,Glassfish会立即启动和停止。

Glassfish Home Directory: /home/aalopez/development/glassfish-3.1.2.2/

启动Glassfish命令:

/home/aalopez/development/glassfish-3.1.2.2/glassfish/bin/asadmin start-domain --verbose domain1

停止Glassfish命令:

/home/aalopez/development/glassfish-3.1.2.2/glassfish/bin/asadmin stop-domain domain1

在调试模式命令中启动Glassfish:

/home/aalopez/development/glassfish-3.1.2.2/glassfish/bin/asadmin start-domain --debug=true

Glassfish管理员网址:

http://localhost:4848

完成配置后,就可以开始使用JDeveloper的Glassfish服务器了,只是不要关闭在单击“启动Glassfish”按钮时弹出的窗口。

如何处理Weblogic和Glassfish服务器之间的数据源?

使用集成的Weblogic服务器时,JDeveloper会创建一个数据源来访问数据库。 该数据源具有以下结构:

java:comp/env/jdbc/DATASOURCE_NAME

其中DATASOURCE_NAME是您在配置与数据库的连接时为数据源提供的名称。 问题在于Glassfish服务器使用了另一种结构。 当您在Glassfish服务器Web控制台应用程序中定义数据源时,您可以这样定义它:

jdbc/DATASOURCE_NAME

如果您继续使用Weblogic和Glassfish服务器运行应用程序,则建议使用以下配置,因此不必在每次更改应用程序服务器时都手动更改数据源结构:在Web Content / WEBINF / web上定义资源。 XML文件

<resource-ref><res-ref-name>jdbc/DATASOURCE_NAME</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth><res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

如Java EE网络应用部署描述符版本2.5所述:

The res-ref-name element specifies the name of a resource manager connection factory reference.  The name is a JNDI name relative to the java:comp/env context. The name must be unique within a web application.

因此,我们没有定义与jdbc / DATASOURCE_NAME关联的方法,但实际上是在定义java:comp / env / jdbc / DATASOURCE_NAME,它与在应用程序中配置并由Weblogic服务器使用的数据源结构完全匹配。 这实际上是一个好习惯,因为在开发时,您不必担心部署时数据源的结构或名称。 您只需在web.xml部署描述符中定义数据源的结构或名称,然后部署者 (是,进行部署的人员)可以将该结构或名称映射到其他内容。 这是在特定于容器的配置文件中完成的,我们将在后面看到。

创建glassfish-web.xml配置文件。 右键单击Web Content / WEB-INF文件夹,然后选择“ 新建…”选项:

弹出一个窗口,选择“ 常规”类别,然后选择“ 文件”选项:

输入文件名glassfish-web.xml并确保此新文件的路径在WEB-INF文件夹内:

创建文件后,将其打开并输入以下代码:

<?xml version='1.0' encoding='UTF-8' ?>
<glassfish-web-app><context-root>YOUR_APP_NAME</context-root><property name='useBundledJsf' value='true'/><class-loader delegate='false'/><resource-ref><res-ref-name>java:comp/env/jdbc/DATASOURCE_NAME</res-ref-name><jndi-name>jdbc/DATASOURCE_NAME_AT_GLASSFISH</jndi-name></resource-ref>
</glassfish-web-app>

在这里,我在部署时将JDeveloper添加到glassfish-web.xml文件的配置复制了。 我还添加了使我们能够映射数据源的配置。 resource-ref元素是我们将重点放在这篇文章上的内容。 将DATASOURCE_NAME更改为您在web.xml部署描述符中为数据源定义的名称,并将DATASOURCE_NAME_AT_GLASSFISH更改为在Glassfish Web控制台应用程序中定义的名称。

怎么运行的:

  • 我们在web.xml部署描述符中将数据源定义为资源。 记住,我们使用的是jdbc / DATASOURCE_NAME结构,但实际上意味着我们使用的是java:comp / env / jdbc / DATASOURCE_NAME
  • 我们创建了glassfish-web.xml部署描述符。 这是特定于容器的配置文件,当部署到Glassfish服务器时,JDeveloper会自动创建该文件。 但是,如果文件已经存在,则不会被覆盖。这里我们映射了数据源定义,所以我们告诉Glassfish,当我们在应用程序中寻找java:comp / env / jdbc / DATASOURCE_NAME时,真正的意思是我们在在Glassfish服务器中查找jdbc / DATASOURCE_NAME。

而已。 使用此配置,您不必担心Weblogic和Glassfish服务器之间的数据源配置差异。 快乐的ADF Essentials编码。

参考文献:

  • Oracle ADF Essentials 。 Oracle [在线]。可在Internet上找到: http : //www.oracle.com/technetwork/developer-tools/adf/overview/adfessentials-1719844.html [2013年3月24日访问]。
  • 将ADF应用程序部署到GlassFish 。 Oracle [在线]。可在Internet上找到: http ://docs.oracle.com/cd/E35521_01/web.111230/e16182/appendix_glassfish.htm#CEGDIGEE [2013年3月28日访问]。
  • Java EE:Java EE部署描述符的XML模式 。 Oracle [在线]。 可在Internet上获得: http : //www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html#5 [2013年3月28日访问]。
  • web.xml中的resource-ref有什么作用? 。 Oracle [在线]。 在Internet上可用: http : //stackoverflow.com/questions/2887967/what-is-resource-ref-in-web-xml-used-for/2888169#2888169

参考:来自Java和ME博客的JCG合作伙伴 Alexis Lopez的JDeveloper 11gR2的Glassfish插件 。

翻译自: https://www.javacodegeeks.com/2013/04/glassfish-plugin-for-jdeveloper-11gr2.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 李刚 pdf_Java数据库技术详解(李刚) PDF_源雷技术空间

资源名称&#xff1a;Java数据库技术详解(李刚) PDF第一篇 数据库基础篇第1章 Java和数据库 21.1 Java概述 21.1.1 跨平台性 21.1.2 面向对象 21.1.3 安全性 31.1.4 简单性 31.1.5 健壮性和自动内存管理 31.2 Java的开发和运行环境 31.2.1 JDK的安装 31.2.2 配置JDK的环境变量 …

Java EE CDI处理程序方法示例

这是CDI Disposer方法的教程。 在CDI中&#xff0c;由于Producer方法生成的对象随后可以注入到应用程序中&#xff0c;因此使用Disposer方法&#xff0c;以便在其工作完成时将其删除。 Disposer方法始终与Producer方法匹配。 Disposer方法的使用示例是应用程序使用与数据库的连…

转 如何更改linux文件的拥有者及用户组(chown和chgrp)

本文整理自&#xff1a; http://blog.163.com/yanenshun126/blog/static/128388169201203011157308/http://ydlmlh.iteye.com/blog/1435157一、基本知识在Linux中&#xff0c;创建一个文件时&#xff0c;该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者…

上下div高度动态自适应--另类处理方案

这段时间在工作中遇到一个看似较为棘手的问题。问题描述&#xff1a;查询报表页面分为上下两部分&#xff0c;上部分为条件输入区域&#xff0c;下部分为报表展示区域。客户要求做到默认满屏&#xff08;但要动态适应不同的窗体大小&#xff0c;也就是浏览器窗体用户会手动改变…

201571030316/201571030314 《小学四则运算练习软件需求说明》结对项目报告

小伙伴儿的博客地址链接&#xff1a;http://www.cnblogs.com/mjuan/p/8877738.html 我的学号&#xff1a;201571030316 小伴儿的学号&#xff1a;201571030314 一、调研过程&#xff1a; 1. 调查问卷&#xff1a;https://www.wjx.cn/jq/22680271.aspx利用问卷…

23种设计模式之一(单例模式)

单例模式&#xff1a;&#xff08;确保一个类最多只有一个实例&#xff0c;并提供一个全局访问点&#xff09; 存在的意义&#xff1a; 有些对象我们只需要一个&#xff0c;如&#xff1a;线程池、缓存、硬件设备等&#xff1b;如果使用多个实例就会造成冲突、不一致等&#xf…

mysql监控

1、查看mysql所有线程&#xff1a;show full processlist;SHOW PROCESSLIST显示哪些线程正在运行。如果您有SUPER权限&#xff0c;即root权限之类&#xff0c;您可以看到所有线程。否则&#xff0c;您只能看到您自己的线程&#xff08;也就是&#xff0c;与您正在使用的MySQL账…

vSphere ESXi主机配置iSCSI存储

vSphere ESXi主机配置iSCSI存储 vSphere ESXi主机一般连接的存储类型有光纤存储、iSCSI存储两类。本次案例为iSCSI存储连接ESXi主机的配置。 案例环境&#xff1a;ESXi主机通过以太网络来连接iSCSID存储&#xff0c;并获取到存储空间&#xff0c;拓扑如下&#xff1a; 首先完成…

linux上验证cudnn是否安装成功_deepin15.7中安装tensorflow+cuda9.0+cudnn7的步骤

这次deepin15.7大更新&#xff0c;特别是深度学习环境搭建屡屡失败&#xff0c;很是恼火。本次按照下面的步骤做成功了&#xff0c;以下是deepin15.7下安装tensorflowcuda9.0cudnn7的全部流程。硬件1.神舟战神z7-kp7s1&#xff0c;双显卡双硬盘2.独显是gtx1060 6G系统安装1.下载…

【ichart】简单的统计图表ichart.js的使用

1、首先下载&#xff0c;点击下载 2、只需要这一个js&#xff0c;粘贴赋值到自己项目中即可。 3、引入js <script type"text/javascript" src"../js/ichart.1.2.min.js"></script> <script type"text/javascript" src"..…

ActiveMQ——activemq的使用java代码实例(精选)

ActiveMQ 在java中的使用&#xff0c;通过单例模式、工厂实现 Jms规范里的两种message传输方式Topic和Queue&#xff0c;两者的对比如下表()&#xff1a; TopicQueue概要Publish Subscribe messaging 发布订阅消息Point-to-Point 点对点有无状态topic数据默认不落地&#xff…

Eclipse+GitHub 提交代码错误 -“rejected - non-fast-forward”

Eclipse Push出现rejected - non-fast-forward错误 在 Push到服务器时有时会出现 rejected - non-fast-forward 错误&#xff0c;这是由于远端发生改变&#xff0c;此时再提交之前你需要将远端的改变合并到本地上错误原因&#xff1a;文件冲突&#xff0c;本地的代码和远程Repo…

两天学会css基础(一)

什么是css&#xff1f;css的作用是什么&#xff1f; CSS 指层叠样式表 (Cascading Style Sheets)主要作用就是给HTML结构添加样式&#xff0c;搭建页面结构&#xff0c;比如设置元素的宽高大小&#xff0c;颜色&#xff0c;位置等等。 学习css之前先了解一下css代码在HTML中的…

LVM 逻辑卷 (logica volume manager)

逻辑卷轴管理员 (Logical Volume Manager) 想像一个情况&#xff0c;你在当初规划主机的时候将 /home 只给他 50G &#xff0c;等到使用者众多之后导致这个 filesystem 不够大&#xff0c; 此时你能怎么作&#xff1f; 多数的朋友都是这样&#xff1a;再加一颗新硬盘&#xff0…

sql查询语句for xml path语法

【原地址】 for xml path作用&#xff1a;将多行的查询结果&#xff0c;根据某一些条件合并到一行。 例&#xff1a;现有一张表 执行下面语句 select Department,(SELECT Employee, FROM People b WHERE b.Departmenta.Department For XML Path()) Student from People as a g…

Android Studio打包以及Gradle配置构建

本文转载 郭霖公众号 https://mp.weixin.qq.com/s?__bizMzA5MzI3NjE2MA&mid2650241610&idx1&snb8af73f6c288b6617d9fe0ab3618118d&pass_ticketQK4j37kpmGNlsYcECWMb64HxKHEVJG5mSJubQEQguKI%3D 生成签名文件手动打包 首先生成签名文件&#xff0c;点击 Build…

java重载方法math_Java语言程序设计(十二)Math数学类,方法重载及变量作用域...

1.重载方法上一篇文章用到的max方法只能用于int型数据类型&#xff0c;但是如果需要决定两个浮点数中哪个较大&#xff0c;解决方法是创建另一个方法名相同但参数不同的方法&#xff0c;代码如下&#xff1a;public static double max(double num1, double num2){if(num1>nu…

编码(转)

https://www.zhihu.com/question/28164512 关于编码和乱码的问题&#xff0c;我简单讲一下。 通常问这类问题的人是混淆了若干个不同的概念&#xff0c;并且他们自己也没有意识到自己混淆了这些概念的。 终端显示字符的编码&#xff08;windows下终端是cmd&#xff0c;linux下是…

Spring MVC:测试简介

测试是软件开发中最重要的部分之一。 井井有条的测试有助于使应用程序代码保持良好状态&#xff0c;并且处于工作状态。 有很多不同类型的测试和方法。 在本文中&#xff0c;我想对基于Spring MVC的应用程序进行单元测试进行介绍。 不要希望在这里阅读有关Spring MVC测试的全部…

试验ConcurrentHashmap

我正在研究我最近的一个项目中的内存问题&#xff0c;该项目将数据保留在内存中以进行快速访问&#xff0c;但是应用程序的内存占用量非常大。 该应用程序大量使用CHM&#xff08;即Concurrenthashmap&#xff09; &#xff0c;因此&#xff0c;无需再费脑筋地猜测CHM是问题所…