适用于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的环境变量 …

html css3模拟心的跳动

<!DOCTYPE html> <html> <head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title>模拟心的跳动</title> </head> <style type"text/css">* {m…

-------------------前端技术文章收集-------------------

十个最常见的lodash方法 十个必备的js工具函数 (英文原文) You dont need 系列 underscore常用方法 (长期更新) 转载于:https://www.cnblogs.com/skura23/p/7649405.html

bzoj4152: [AMPPZ2014]The Captain

水。。。 这个建边排序一下从一边连向一边 dij在这种稀疏图果然不够优秀啊。只是学了一发。 #include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> #include<queue> usin…

使用Hibernate的JPA 2.0标准查询

JPA 2.0中引入了条件查询 。 借助条件查询&#xff0c;您可以以类型安全的方式编写查询。 在进行标准查询之前&#xff0c;开发人员必须通过构建基于对象的查询定义来编写查询。 构建查询时&#xff0c;可能会出现语法错误的情况。 条件查询API提供了创建具有编译时安全性的结构…

response对象的使用

使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上&#xff0c;这一点与转发是不同的。在客户端浏览器上将会得到跳转地址&#xff0c;并重新发送请求链接。用户可以从浏览器的地址栏中看到跳转后的地址。进行…

java 菜单 分隔符_在Java中使用分隔符连接值列表最优雅的方法是什么?

我从来没有找到一个整洁(呃)的方式来做以下事情.说我有一个列表/数组的字符串.abcdefghijkl我想将它们连接成一个由逗号分隔的单个字符串,如下所示&#xff1a;abc,def,ghi,jkl在Java中,如果我这样写(原谅语法),String[] list new String[] {"abc","def",…

thinkphp3.2----实现伪静态和路由配置

URL模式&#xff1a; 0.普通 http://localhost/qixin/ThinkCMF(test)_backup/index.php?guser&mlogin&aindex    带有&#xff1f;号这种传参路径&#xff0c;对SEO不友好 1.pathinfo http://localhost/qixin/ThinkCMF(test)_backup/index.php/user/login/ind…

Cmder - 在右键菜单添加Cmder Here

使用命令行或终端工具的时候都有一个让我们觉得麻烦的问题&#xff0c;就是需要cd很多目录达到目标位置。在可视化操作系统下面我们一般都是已经处在目标目录了&#xff0c;这时需要执行某些命令如&#xff1a; python test.py   现在只需要右键点击"Cmder Here"即…

标题:a 和 a的区别

以前我也是老搞不懂a 和 a的区别, 后来看了很多资料, 终于总结出来一条规律, 小白专用! 看完这个例子就懂了: 例1:$a 8, 求 a a - --a a-- a得多少? 旧值: 8 9 10 9 8 a a - --a a-- a 新值: 9 …

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;该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者…

微信小程序开发工具最新版本已更新下载(1.02.1804120)

下载地址&#xff1a;windows 64 、 windows 32 、 mac本次更新修复信息如下&#xff1a;1、修复 1.02.1804080 引入的编译条件为分包内页面时无法加载的问题 1. 更新到最新版本后 &#xff0c;编译模式中创建新的直接编译分包(/subpage/a)入口的页面&#xff0c;页面显示白屏无…

Gradle的好处:运行单个测试

我们可以使用Java插件添加的test任务&#xff0c;使用Gradle运行测试代码。 默认情况下&#xff0c;将执行项目中找到的所有测试。 如果要运行单个测试&#xff0c;则可以使用Java系统属性test.single和测试名称。 实际上&#xff0c;系统属性的模式是taskName .single 。 task…

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

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

java缓冲输入流_java _io_字符缓冲流的输入、输出

新增方法:输入:BufferedReader breadernew BufferedReader(Reader reader);.readLine()读取一行内容&#xff0c;返回字符串输出:BufferedWriter bwriternew BufferedWirter(Writer writer);.newLine() 写入一个换行符输入:File f new File("C:\Users\10853\eclipse-works…

Android Activity has leaked window that was originally added

今天调试程序时log中突然打印这样的错误&#xff0c;但是程序并没有crash&#xff0c;为了不放过一个错误&#xff0c;我决定调查一下。 当时是离开一个activity&#xff0c;然后提示是否退出此界面&#xff0c;接下来就打印此错误&#xff1a; 03-08 18:02:48.521: E/WindowMa…

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利用问卷…

关于Java 8的Optional的介绍

我最近发现了JDK 8中Optional类型的添加。 Optional类型是避免NullPointerException一种方法&#xff0c;因为从方法中获取Optional返回值的API使用者被“强制”执行“在线”检查&#xff0c;以消耗其实际返回值。 更多细节可以在Javadoc中看到。 可以在此博客文章中找到非常有…

如何加快HTML页面加载速度

1. 页面减肥 a. 页面的肥瘦是影响加载速度最重要的因素。 b. 删除不必要的空格、注释。 c. 将inline的script和css移到外部文件。 d. 可以使用HTML Tidy来给HTML减肥&#xff0c;还可以使用一些压缩工具来给JavaScript减肥。 2. 减少文件数量 a. 减少页面上引用的文件数…