jdeveloper_适用于JDeveloper 11gR2的Glassfish插件

jdeveloper

众所周知, 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,就会安装它们)。 我推荐的方法是将Glassfish插件用于JDeveloper,以便您可以直接从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

jdeveloper

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

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

相关文章

php接收get数组数据,来自HTTP的PHP注入GET数据用作PHP数组键值

我想知道在以下场景中是否存在可能的代码注入(或任何其他安全风险,如读取您不应该使用的内存块等等),其中来自HTTP GET的未经过处理的数据用于代码中PHP作为数组的键.这应该将字母转换为字母顺序. a到1,b到2,c到3 …. HTTP GET“字母”变量应该有值字母,但是你可以理解任何东西…

python绘制横向堆积柱状图_Python 堆叠柱状图绘制方法

本文介绍了Python 堆叠柱状图绘制方法&#xff0c;分享给大家&#xff0c;具体如下&#xff1a;>>文件: 堆叠直方图.py>>作者: liu yang>>邮箱: liuyang0001outlook.com>>博客: www.cnblogs.com/liu66blog#!/usr/bin/env python# -*- coding: utf-8 -*…

Spring Cloud教程– Spring Cloud Config Server简介

问题 SpringBoot在通过属性或YAML文件外部化配置属性方面提供了很大的灵活性。 我们还可以使用特定于配置文件的配置文件&#xff08;例如application.properties &#xff0c; application-dev.properties &#xff0c; application-prod.properties等&#xff09;分别为每个环…

数字孪生体技术白皮书_基于Flownex的数字孪生体解决方案 系列介绍之二:数据中心应用实例...

致力于数字孪生体技术的研究与发展通过解决方案和工程化应用造福人类来源&#xff1a;数字孪生体实验室原创作者&#xff1a;王永康转载请注明来源和出处导 读《基于Flownex的数字孪生体解决方案》是我们最近完成的系列落地方案之一。该方案适用于热力系统、冷却系统、通风空调…

node php聊天室,最简单的Nodejs聊天室示例

今天群里一个同学找我要一个nodejs聊天室的demo。给他了一个简单的例子&#xff0c;顺便记录下&#xff1a;准备工作(前提是已经装好了nodejs)&#xff1a;mkdir nodejs-democd nodejs-demo安装express : npm install express安装socket.io : npm install socket.io安装foreve…

neo4j安装_neo4j 社区版win10 下安装

准备工作&#xff1a;Neo4j下载网址&#xff1a;https://neo4j.com/download-center/#releasesava jdk官网下载&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/index.html安装 查看是否有用旧版本的java jdk ,如果有请在设置“应用和功能”卸载 旧的ja…

php网站 qq登陆,php写的插件网站接入QQ登录,QQ互联

qq按钮这里的链接是入口&#xff0c;调用你的apiapi_qq.php前端直接链接到此/*** 这个QQ登录简单实用&#xff0c;只要大家看我写的注释会一目了然&#xff0c;请注意看哦。* 带有"todo"这样注释的地方都是要你去改成你自己的逻辑* 这个php怎么进来呢&#xff1f;这是…

spring不自动下载_Spring:自动接线或不自动接线

spring不自动下载自从使用Spring 2.5以来&#xff0c;我从基于XML的应用程序上下文切换到了注释。 尽管我发现那些非常有用且节省大量时间的人&#xff0c;但我始终觉得在灵活性方面我失去了一些东西。 特别是Autowired批注-或标准Inject-在我看来就像新的“新”&#xff0c;增…

php faker 中文,使用faker 生成中文测试数据

https://github.com/fzaninotto/Faker/blob/master/src/Faker/Provider/zh_CN/Address.php常用的类型都在里面。下面是一个实例。使用了laravel 框架的工厂模式向数据库填充测试数据。$factory->define(App\Models\Customer::class, function ($faker) {$faker Faker\Facto…

python课设总结_Python技术分享课总结:用Python模拟知乎自动登录

原标题&#xff1a;Python技术分享课总结&#xff1a;用Python模拟知乎自动登录Python语言是由Guido van Rossum大牛在1989年发明&#xff0c;它是当今世界最受欢迎的计算机编程语言之一&#xff0c;也是一门“学了有用、学了能用、学会能久用”的计算生态语言。为此&#xff0…

Spring MVC中@RequestParam和@PathVariable批注之间的区别?

Spring MVC框架是在Java世界中开发Web应用程序最流行的框架之一&#xff0c;它还提供了一些有用的注释&#xff0c;可以从传入的请求中提取数据并将请求映射到控制器&#xff0c;例如 RequestMapping&#xff0c; RequestParam和PathVariable。 即使将RequestParam和ParthVari…

php 随机钱数,PHP 仿微信红包金额随机

博主寒冰最近闲来无事。就想研究一下微信红包的金额随机算法。早在微信红包刚出来的时候就研究过。始终不得要领。后来&#xff0c;通过查阅诸多资料。听说要实现“正态分布”。这个理论的东西不想深挖。恰好在网上一篇博客找到一个相对完整的算法。我经过试用确实不错。经过我…

excel 两列模糊匹配给出结果_北大硕士给大脑植入Excel病毒,工作效率提升了好几倍...

在工作中&#xff0c;我们经常会碰到这样的同事&#xff0c;他们是这样完成工作的&#xff1a;先用计算器算好结果&#xff0c;甚者动用手指头在电脑屏幕上数数&#xff0c;然后把数据填写到Excel表格中。结果可以预见&#xff0c;原本可以在上班时间完成的工作&#xff0c;愣是…

5 在java等于多少,java基础面试题之Java中的Math. round(-1. 5)等于多少

Java 中的 Math. round(-1. 5) 等于多少&#xff1f;答案&#xff1a;-1/*** Returns the closest {code long} to the argument, with ties* rounding to positive infinity.** Special cases:* If the argument is NaN, the result is 0.* If the argument is negative infin…

java ee cdi_Java EE CDI Producer方法教程

java ee cdi这是CDI Producer方法的教程。 在CDI中&#xff0c;生产者方法生成一个对象&#xff0c;然后可以将其注入。 当我们要注入本身不是bean的对象&#xff0c;要注入的对象的具体类型在运行时可能有所不同&#xff0c;或者当对象需要一些bean构造函数不执行的自定义初始…

qnap nas web php,如何在QNAP NAS上建立并使用 iSCSI Target

本帖最后由 小Q 于 2015-2-5 13:30 编辑在QNAP Turbo NAS上建立并使用iSCSI Target&#xff0c;快速、便利且便宜建置网络储存系统之方式内容&#xff1a;l 在Windows中使用Microsoft iSCSI启动器来连接iSCSI装置什么是iSCSI且它有什么好处?iSCSI(Internet Small Computer Sy…

python坐标轴刻度设置对数_Python中的对数刻度

我试图以对数比例(Y轴)绘制一个图形&#xff0c;但我需要在Y轴上显示原始值。我用了密码&#xff1a;# -*- coding: utf-8 -*-import mathimport matplotlib.pyplot as pltimport matplotlib.dates as datesfrom datetime import datetime, timedeltaimport numpy as npx []y …

openssl php api,PHP7使用openssl解密易班API中的用户数据

PHP7使用openssl解密易班API中的用户数据一、mcrypt扩展解密自从PHP版本更新到了7.1以上以后&#xff0c;mcrypt扩展被废弃&#xff0c;使用mcrypt扩展会出现如下图的报错。只能使用openssl来代替。然而易班轻应用提供的还是旧版本的mcrypt扩展&#xff0c;这将导致php版本升级…

Spring MVC的DispatcherServlet – Java开发人员应该知道的10件事

如果您使用过Spring MVC&#xff0c;那么您应该知道什么是DispatcherServlet&#xff1f; 它实际上是Spring MVC的心脏&#xff0c;确切地说是MVC设计模式或控制器的C语言。 应该由Spring MVC处理的每个Web请求都通过DispatcherServlet处理。 通常&#xff0c;它是Front Contro…

python123第七章_Python入门第7/10页

Python入门第7/10页更新时间&#xff1a;2007年02月08日 00:00:00 作者&#xff1a;第七章 输入输出有几种办法可以从程序输出&#xff1b;数据可以用可读的形式显示&#xff0c;或保存到文件中以备日后使用。本章讨论一些输入输出的办法。7.1 输出格式控制到现在为止我们已经…