openshift 部署_OpenShift Express:部署Java EE应用程序(支持AS7)

openshift 部署

在过去的几年中,我越来越多地听说过“云”服务。 最初,我并不是很想尝试一下。 但是几个月后(一年?),我决定看看这是怎么回事。 我从事Java EE开发已有7年以上,因此,我决定看看将Java EE应用程序部署到云中需要什么。 我开始寻找文档和其他常见的博客文章等。

那时,无论我想试用哪种云服务,都需要我提供我的信用卡详细信息,甚至还可以试用试用应用程序。 我不太想提供我的信用卡详细信息,只是为了尝试我的一些应用程序。 因此,尽管我一直在阅读有关其他开发人员在将其应用程序部署到云上的工作,但我还是放弃了在云上试用我的应用程序的意愿。

大约在同一时间,我遇到了一篇详尽的文章,内容涉及一位开发人员如何在Google App Engine – Part1 , Part2上设置涉及Weld和JSF的应用程序。 该博客写得很好,并解释了在云服务上启动并运行Java EE应用程序所需的条件。 但是这些文章中的重要信息是,拥有按Java EE标准(可移植)实现的应用程序的用户必须更改许多应用程序部分才能使其在云上运行。 这是因为云服务提供商不支持许多Java EE技术。 这看起来对我没有吸引力。 毕竟,这样做会给我带来什么好处。 因此,在那时,作为Java EE开发人员,我对尝试在云上部署应用程序的兴趣不大。


输入OpenShift!

但是在本月,有关能够将JBoss AS7 Java EE应用程序部署到云的OpenShift公告引起了我的注意。 顺便说一句,我确实在RedHat工作,并且是JBoss AS7团队的一员,但是我没有注意OpenShift团队的工作,所以这一宣布令人惊喜! 因此,我决定尝试一下。 阅读项目站点上的一些文档之后,我发现OpenShift提供了两种不同的服务。 一个是“ OpenShift Express”,另一个是“ OpenShift Flex”。 OpenShift Express是免费使用的(对我来说是个好消息),而OpenShift Flex需要您的Amazon EC2凭证,您需要为EC2的使用付费(但是目前正在进行免费试用)。 我决定尝试一下OpenShift Express,因为它是免费的,并且适合我目前的需要,只需尝试快速简单的Java EE应用程序部署以及对该应用程序的访问即可。

因此,这就是我能够将Java EE应用程序部署到OpenShift Express的过程,该应用程序使用Java EE6 Web配置文件中可用的技术,并且可以在本地AS7实例上很好地部署。 您可能已经猜到我不是OpenShift(或一般的云服务)专家,因此本文没有任何高级技术细节,但包含有关将Java EE应用程序部署到OpenShift Express的更多方法。 。

因此,让我们开始吧。

注册

第一步是在这里注册,为自己创建一个帐户。 注册仅需要一个有效的电子邮件地址,您的帐户详细信息将被发送到该电子邮件地址。 注册后,您会收到一封邮件,其中包含用于激活您的帐户的链接,并将带您进入登录屏幕。 使用您以前注册的电子邮件ID和密码登录。

获得对OpenShift Express的访问权限

因此,让我们进入OpenShift Express页面 。 在该页面上,您会注意到左侧的“快速访问访问权限”按钮。 点击它可以访问“ Express”。 我们会通过邮件通知您(立即)您注册的电子邮件ID。 查看包含快速入门指南链接的邮件,以帮助您开始使用OpenShift Express。

安装客户端工具

快速入门包含指导您开始安装过程的说明。 第一步包括在系统上安装一些客户端工具,以帮助您与OpenShift进行交互。 请按照这些说明安装客户端工具(由于在该指南中已作了很好的解释,因此在此不再赘述)。

建立网域

现在有了客户端工具后,就可以在OpenShift云上设置“域”了。 设置域将创建可用于您的应用程序的唯一域名。 域名将是URL的一部分,您将使用该域名来访问该应用程序,并将其发布给用户以进行访问。 创建域的命令很简单:

rhc-create-domain -l <email-id-you-registered-with> -n <domain-name-of-your-choice>

运行该命令将询问您用于注册的密码。 输入该密码,然后完成命令(几秒钟)。

“ rhc-create-domain”是您先前安装的客户端工具的一部分。 如果尚未安装这些工具,则将无法使用这些命令,因此请不要错过这一步! “ rhc-create-domain”接受更多可选参数。 要查看可接受的参数列表,可以运行以下命令:

rhc-create-domain --help

创建一个jbossas-7.0应用程序

成功创建域后,下一步就是创建“应用程序”。 当前,OpenShift Express支持不同的“类型”的应用程序,每个应用程序都由Git (版本控制系统)支持。 在撰写本文时,支持的应用程序类型为jbossas-7.0,perl-5.10,rack-1.1,wsgi-3.2和php-5.3。 我对部署Java EE应用程序感兴趣,因此我将创建一个“ jbossas-7.0”应用程序。 此类应用程序在OpenShift云中为您提供了JBoss AS 7.0.0实例,您可以在其中部署应用程序。 现在让我们创建一个类型为jbossas-7.0的应用程序。

请注意,术语“应用程序”可能有点令人困惑(至少我发现它有点令人困惑),因为此时您要做的只是设置JBoss AS7服务器。

创建应用程序的命令是rhc-create-app。 rhc-create-app接受多个选项。 有关选项的完整列表,请运行:

rhc-create-app --help

要创建jbossas-7.0应用程序,我们将运行以下命令:

rhc-create-app -a <application-name> -l <email-id-you-used-to-register> -t jbossas-7.0 -r <path-on-local-filesystem-for-the-repository>

运行该命令将询问您用于注册的密码。 输入该密码,然后完成命令(几秒钟)。

-a选项可让您指定应用程序的名称。 该名称将成为您用来访问应用程序的URL的一部分。 如果您的应用程序名称为“ foo”,(先前创建的)域名为“ bar”,则用于访问您的应用程序的URL为http://foo-bar.rhcloud.com/。

该命令中的-t选项指定应用程序类型。 在我们的案例中,我们对jbossas-7.0感兴趣

另一个重要的选项是-r选项,您将使用它来指向本地文件系统上的文件夹,OpenShift将在其中存储与应用程序相关的所有数据。 该数据的一部分将是git repo(版本控制系统)的本地副本。 我们稍后将在此博客中更详细地介绍这一点。

访问您的服务器URL

因此,一旦运行命令并成功完成命令,它将打印出该应用程序可用的URL。 您可以(立即)使用该URL来访问该应用程序。 访问该URL时,您会注意到一个欢迎页面,这表明该应用程序已成功安装并且可以访问。 对我来说,新创建的应用程序的URL是http://jaikiran-jbossas.rhcloud.com/ 。

因此,在这一点上,我们先创建了一个域,然后创建了一个应用程序,并确保世界可以访问该域。 简而言之,您的云服务器已启动并正在运行,您现在可以将Java EE应用程序部署到该服务器上。

创建和部署Java EE应用程序

现在,让我们转到创建和部署Java EE应用程序的步骤。 我没有任何特定的应用程序,但是想部署一个涉及访问数据库的应用程序。 我决定使用JBoss AS7随附的一种快速入门应用程序,而不是创建一个全新的应用程序。 JBoss AS7的快速入门应用程序可在此处下载。 下载快速入门档案后,将其解压缩到您选择的位置。 构建快速入门示例将需要在系统上安装Maven构建工具。 有关快速入门应用程序以及如何构建它们的详细信息,请参见此处 。 那些有兴趣亲自尝试的人可能会想看看该指南。

从这些快速入门中,我选择了“ kitchensink”应用程序。 kitchensink应用程序使用Java Persistence API(JPA)来实现持久性,并且默认情况下使用JBoss AS7默认提供的java:jboss / datasources / ExampleDS。 ExampleDS使用H2作为其数据库,这是persistence.xml的样子:

<?xml version="1.0" encoding="UTF-8"?>  <persistence version="2.0"  xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="  http://java.sun.com/xml/ns/persistence  http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">  <persistence-unit name="primary">  <!-- If you are running in a production environment, add a managed   data source, the example data source is just for proofs of concept! -->  <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>  <properties>  <!-- Properties for Hibernate -->  <property name="hibernate.hbm2ddl.auto" value="create-drop" />  <property name="hibernate.show_sql" value="false" />  </properties>  </persistence-unit>  </persistence>

现在,这足以说明我如何部署应用程序以及OpenShift Express中可用的数据库支持。

构建应用程序后 ,可部署的战争名为jboss-as-kitchensink.war,在我的本地文件系统上可用。 下一步是将其部署在我们已在OpenShift Express云中设置的JBoss AS7服务器上。 让我们看看如何完成。

将应用程序部署到OpenShift Express

记住,在使用rhc-create-app命令创建“应用程序”时,我们使用-r选项指向本地文件系统上的文件夹来创建应用程序存储库的本地副本。 那就是现在将用于部署我们的应用程序的地方。 就我而言,我使用/ home / jpai / OpenShift / myapps / demo作为存储库位置。 该文件夹的外观如下:

demo  |  |--- deployments  |  |--- pom.xml  |  |--- README  |  |--- src

将应用程序部署到OpenShift Express的方法不止一种。 一种方法是编写代码并在本地存储库的src文件夹中提交源代码,然后将所做的更改推送到远程git存储库。 然后,这将触发您的项目在远程存储库上的Maven构建。 有关此方法的更多详细信息, 请参见此博客 。

在我们的案例中,我们将重点介绍如何将已构建的Java EE应用程序部署到您的OpenShift Express云服务器。 在上一步中,我们构建了jboss-as-kitchensink.war。 现在,将该战争文件复制到本地git存储库的“ deployments”子文件夹中。 在这种情况下,它是/ home / jpai / OpenShift / myapps / demo / deployments:

cp /home/jpai/jboss-as-quickstarts-7.0.0.Final/kitchensink/target/jboss-as-kitchensink.war /home/jpai/OpenShift/myapps/demo/deployments

将其复制到此处后,下一步是使用git commit命令“提交”此更改:

jpai@jpai-laptop:demo$ git add deployments/jboss-as-kitchensink.war  jpai@jpai-laptop:demo$ git commit -m "Deploy kitchensink application" deployments/jboss-as-kitchensink.war  [master 1637c21] Deploy kitchensink application  1 files changed, 0 insertions(+), 0 deletions(-)  create mode 100644 deployments/jboss-as-kitchensink.war

因此,此时您的厨具应用程序已提交到本地git repo。 接下来,我们应该将此提交“推送”到远程git repo:

jpai@jpai-laptop:openshift$ git push origin master  Counting objects: 6, done.  Delta compression using up to 2 threads.  Compressing objects: 100% (4/4), done.  Writing objects: 100% (4/4), 393.71 KiB, done.  Total 4 (delta 1), reused 0 (delta 0)  remote: Stopping application...  remote: done  remote: Found .openshift/config/standalone.xml... copying to ...  ....  ....  ....  remote: Starting application...done  To ssh://6a7ff43a6c2246999de28219a5aaa4ae@jaikiran-jbossas.rhcloud.com/~/git/jaikiran.git/  6e57976..1637c21 master -> master

(从上面的输出中整理了一些日志)。

因此,通过“推送”,我们现在将我们的应用程序部署到了远程OpenShift Express JBoss AS7服务器。 jboss-as-kitchensink.war将部署在“ jboss-as-kitchensink” Web应用程序上下文中。 因此,用于访问该应用程序的URL为http://jaikiran-jbossas.rhcloud.com/jboss-as-kitchensink 。 继续并访问该URL。 该应用程序没有任何花哨的功能–它允许您添加用户名,电子邮件和电话号码,然后将其存储在数据库中。

就像我之前提到的,kitchensink应用程序使用ExampleDS数据源,该数据源由H2数据库支持。 因此,所有数据将远程存储在H2数据库中。

使用OpenShift Express中可用MySQL数据库

当创建jbossas-7.0应用程序类型时,OpenShift Express会为您设置一个MySQL数据源模板 。 数据库的详细信息可以在<path-to-local-repo> /。openshift / config / standalone.xml中找到:

<subsystem xmlns="urn:jboss:domain:datasources:1.0">  <datasources>  <datasource jndi-name="java:jboss/datasources/ExampleDS" enabled="true" use-java-context="true" pool-name="H2DS">  <connection-url>jdbc:h2:${jboss.server.data.dir}/test;DB_CLOSE_DELAY=-1</connection-url>  <driver>h2</driver>  <pool></pool>  <security>  <user-name>sa</user-name>  <password>sa</password>  </security>  <validation></validation>  <timeout></timeout>  <statement></statement>  </datasource>  <datasource jndi-name="java:jboss/datasources/MysqlDS" enabled="false" use-java-context="true" pool-name="MysqlDS">  <connection-url>jdbc:mysql://127.1.1.1:3306/mysql</connection-url>  <driver>mysql</driver>  <security>  <user-name>admin</user-name>  <password>changeme</password>  </security>  </datasource>  <drivers>  <driver name="h2" module="com.h2database.h2">  <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>  </driver>  <driver name="mysql" module="com.mysql.jdbc">  <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>  </driver>  </drivers>  </datasources>  </subsystem>

您会注意到,除了AS7中默认提供的ExampleDS外,OpenShift Express还设置了一个MySQL数据源,该数据源可从java:jboss / datasources / MysqlDS获得。 这里要注意的重要一点是默认情况下它是禁用的(即enabled = false)。 另请注意,密码为“ changeme”。 基本上,standalone.xml中MysqlDS的此数据源配置作为模板存在。 为了启用该数据源,我们首先必须为我们的应用程序创建一个MySQL数据库。 可以通过使用以下命令来完成:

jpai@jpai-laptop:openshift$ rhc-ctl-app -a <application-name> -l <email-id-we-used-to-register> -e add-mysql-5.1

rhc-ctl-app传递了应用程序名称(这是我们在rhc-create-app期间使用的名称)以及我们的帐户ID。 此外,我们使用-e选项来指定我们要执行的操作。 在这种情况下,我们发出“ add-mysql-5.1”命令。 运行该命令将要求您输入帐户密码,成功完成后将显示类似以下内容的输出:

RESULT:  Mysql 5.1 database added. Please make note of these credentials:  Root User: admin  Root Password: as43n34023n  Connection URL: mysql://127.1.1.1:3306/

记下用户名,密码和连接URL。 现在,在文本编辑器中打开<repo-home> /。openshift / config / standalone.xml并更新MysqlDS配置以使用连接URL,用户名和新密码。 还将启用标志设置为“ true”,以便启用数据源。 最终,数据源配置将如下所示:

<datasource jndi-name="java:jboss/datasources/MysqlDS" enabled="true" use-java-context="true" pool-name="MysqlDS">  <connection-url>jdbc:mysql://127.1.1.1:3306/mysql</connection-url>  <driver>mysql</driver>  <security>  <user-name>admin</user-name>  <password>as43n34023n</password>  </security>  </datasource>

注意连接URL。 它的格式必须为jdbc:mysql:// <ip:port> / dbname。 通常,您根本不需要触摸该连接URL,因为rhc-ctl-app add-mysql-5.1和数据源模板与IP /端口同步。 要更改的重要部分是密码和启用标志。

更新此文件后,保存更改并将其提交到本地git repo:

jpai@jpai-laptop:demo$ git commit -m "Enable the MysqlDS and fix the password" ./  [master dd7b58a] Fix the datasource password  1 files changed, 1 insertions(+), 1 deletions(-)  Push these changes to remote repo:  jpai@jpai-laptop:openshift$ git push origin master  Counting objects: 9, done.  Delta compression using up to 2 threads.  Compressing objects: 100% (4/4), done.  Writing objects: 100% (5/5), 494 bytes, done.  Total 5 (delta 2), reused 0 (delta 0)  remote: Stopping application...  remote: done  ....  .....  remote: Starting application...done  To ssh://6a7ff43a6c2246999de28219a5aaa4ae@jaikiran-jbossas.rhcloud.com/~/git/jaikiran.git/  2d38fa8..dd7b58a master -> master

因此,我们现在添加了MySQL DB并启用了MysqlDS数据源,该数据源可从服务器上的java:jboss / datasources / MysqlDS jndi名称获得。 因此,如果kitchensink应用程序必须使用MySQL作为数据库而不是H2,那么它所要做的就是使用java:jboss / datasources / MysqlDS。 现在,让我们编辑前面看到的persistence.xml文件,并改用MysqlDS:

<?xml version="1.0" encoding="UTF-8"?>  <persistence version="2.0"  xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="  http://java.sun.com/xml/ns/persistence  http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">  <persistence-unit name="primary">  <!-- Changed to use MysqlDS -->  <jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>  <properties>  <!-- Properties for Hibernate -->  <property name="hibernate.hbm2ddl.auto" value="create-drop" />  <property name="hibernate.show_sql" value="false" />  </properties>  </persistence-unit>  </persistence>

另外,为了“表明”该新应用程序已被更新为使用MySQL数据库,我还编辑了kitchensink应用程序的index.xhtml页面,以在该页面上添加一条有关正在使用MySQL数据库的消息:

<h3>  <span style="color: red;">  This application uses MySQL database as its persistence store  </span>  </h3>

接下来,我将使用Maven在本地构建kitchensink应用程序,以反映这些更改并生成新的jboss-as-kitchensink.war。 构建完成后,现在让我们再次将其复制到本地git repo,然后提交更改并将其推送到远程git repo:

jpai@jpai-laptop:kitchensink$ cp target/jboss-as-kitchensink.war /home/jpai/OpenShift/myapps/demo/deployments
jpai@jpai-laptop:demo$ git commit -m "Use MySQL database for kitchensink application" ./  [master ded2445] Use MySQL database for kitchensink application  1 files changed, 0 insertions(+), 0 deletions(-)
jpai@jpai-laptop:openshift$ git push origin master  Counting objects: 7, done.  Delta compression using up to 2 threads.  Compressing objects: 100% (4/4), done.  Writing objects: 100% (4/4), 1.35 KiB, done.  Total 4 (delta 2), reused 0 (delta 0)  remote: Stopping application...  remote: done  remote: Found .openshift/config/standalone.xml... copying to...  ...  ...  ...  remote: Starting application...done  To ssh://6a7ff43a6c2246999de28219a5aaa4ae@jaikiran-jbossas.rhcloud.com/~/git/jaikiran.git/  1637c21..ded2445 master -> master  jpai@jpai-laptop:demo$

(从输出中整理了一些日志)

因此,在这一点上,我们现在已经更改了厨房应用程序以使用MySQL数据库,并将其部署到我们的OpenShift Express AS7服务器。 因此,让我们再次访问应用程序URL http://jaikiran-jbossas.rhcloud.com/jboss-as-kitchensink 。 如您所见,该页面现在突出显示了有关正在使用MySQL DB的消息。 继续并通过添加一些虚拟用户信息来试用该应用程序。

而已! 我们已将应用程序成功部署到OpenShift Express服务器,并且该应用程序可供使用。

摘要

到目前为止,使用OpenShift一直是令人愉快的体验。 我计划在接下来的几天中使用OpenShift尝试其他一些事情,并在博客中发布任何有趣的细节。

有用的资源

在部署此应用程序时,我不得不使用一些文档和OpenShift社区的帮助来了解如何进行全部设置。 以下是与OpenShift相关的有用资源的列表:

OpenShift Express用户指南
OpenShift论坛
irc.freenode.net上的OpenShift IRC #openshift。 这里的人非常有帮助! 斯科特·斯塔克(Scott Stark)的博客。 Scott的博客通常包含有关OpenShift和OpenShift上AS7的许多有用信息。 斯科特的博客绝对是必读!

在哪里寻求帮助

通常,在OpenShift论坛中会回答OpenShift问题。 对于OpenShift上有关AS7的问题,最好的提问场所是JBoss Cloud Group。

参考: OpenShift Express:在Jaikiran My Wiki博客上从JCG合作伙伴 Jaikiran Pai 部署Java EE应用程序(支持AS7) 。

相关文章 :

  • 红帽Openshift:入门–云中的Java EE6
  • Oracle WebLogic Java云服务–幕后花絮。
  • Java EE过去,现在和云7
  • 在云中开发和测试
  • 从Spring到Java EE 6

翻译自: https://www.javacodegeeks.com/2012/01/openshift-express-deploy-java-ee.html

openshift 部署

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

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

相关文章

迪克逊准则matlab,浙江科技学院学报

引言传统的农业栽培需要遵循季节性及周期性的栽培规律,受外界环境的影响较大,相应的栽培技术无法得到良好的栽培结果[1]。而温室大棚通过环境控制器调节温室环境,为作物提供了合适的生长环境。因此,它在农业领域的应用越来越广泛,温室环境控制系统的研究成为人们关注的热点[2-5…

使用FlexDeploy对融合中间件应用程序进行自动化软件测试

自动化软件测试是任何软件组织都应执行的强制性活动之一&#xff0c;以保证其产品质量。 但是&#xff0c;此过程通常变得非常复杂&#xff0c;尤其是涉及由多个不同部分组成的现代复杂系统的自动化测试时。 所有这些部分都基于不同的技术&#xff0c;显然&#xff0c;应该使用…

java 反编译项目_Java 7 –反编译项目硬币

java 反编译项目大家好&#xff0c;该是从2012年开始写作的时候了。正如您在其他博客中可能已经看到的那样&#xff0c;有一些更改可以使您使用Java编程时的开发人员生活变得更加轻松&#xff1a;Diamond运算符&#xff0c;Switchs中的Strings&#xff0c;尝试使用资源&#xf…

Java 9代码工具:使用Java微型基准测试工具的实践会话

用肉眼看&#xff0c;基准测试似乎只是确定执行某些代码需要花费多长时间的简单问题。 但是通常&#xff0c;这是幼稚的方法。 提供具有准确和可重复结果的有意义的基准并非易事。 在本文中&#xff0c;我们想向您介绍OpenJDK代码工具项目&#xff0c;尤其是JMH。 Java Microb…

vaadin_在Vaadin和JSF之间选择

vaadin随着最新版本的Primefaces 3.0的发布&#xff0c;JSF终于达到了前所未有的成熟度和实用性&#xff0c;使其与其他流行的Rich Internet Applications&#xff08;RIA&#xff09;选项面对面&#xff0c;例如Google Web Toolkit&#xff08;GWT&#xff09;&#xff0c;Ext…

windows server 2008 oracle 10g,一次不太愉快的Windows Server 2008 R2 SP1上安装ORACLE 10G经历...

华为服务器型号RH5885 V3&#xff0c;安装windows server 2008 r2, oracle 10g1、安装包要使用10204_vista_w2k8_x64_production_db.zip&#xff0c;不用102010_win64_x64_database.zip&#xff1b;2、DBCA创建数据库之前&#xff0c;关闭BIOS中Hyper-Threading [ALL] - [Disab…

通过OmniFaces缓存组件以编程方式缓存PrimeFaces图表

在这篇文章中&#xff0c;您将看到如何结合PrimeFaces和OmniFaces获得可缓存的图表。 为了使事情变得简单&#xff0c;我们将使用PrimeFaces 折线图。 对于这种图表&#xff0c;我们可以在页面中使用<p&#xff1a;chart />标记和一个简单的托管bean。 因此&#xff0c;在…

ReactNative——打包发布

1、生成一个签名密钥 ‘ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 ’ 生成一个my-release-key.keystore的密钥库文件 2、找到路径/android/app/src/main,并在该目录下新建assets文件夹 3、在工程…

oracle版本说明,Oracle版本说明

Oracle 的版本号很多&#xff0c;先看11g的一个版本号说明&#xff1a; 注意&#xff1a; 在Oracle 9.2 版本之后&#xff0c; oracle 的maintenance release number 是在Oracle的版本号很多&#xff0c;先看11g的一个版本号说明&#xff1a;注意&#xff1a;在Oracle 9.2版本之…

Opserver配置Redis、SqlServer监控

简介 Opserver是Stack Overflow的开源监控解决方案&#xff0c;由Stack Exchange发布&#xff0c;基于.NET框架构建。开源地址&#xff1a;https://github.com/opserver/Opserver 使用 github下载源代码编译后&#xff0c;发布至IIS&#xff0c;需要先修改Opserver/Config目录下…

Linux挂载多个文件夹读不出,FTP不显示Linux挂载文件夹怎么办?-处理FTP不显示Linux挂载文件夹的方案 - 河东软件园...

最近有位用户向小编反映&#xff0c;声称自己在Linux中使用vsftpd启FTP服务&#xff0c;并在FTP用户下挂载一个Windows的共享盘&#xff0c;但是登陆FTP后却无法显示该挂载的共享盘。出现这种问题真是令人十分头疼呢&#xff0c;想要快速解决这个问题又找不到合适的方法。该怎么…

以太坊智能合约Hello World示例程序

简介 以太坊(Ethereum)是一提供个智能合约(smart contract)功能的公共区块链(BlockChain)平台. 本文介绍了一个简单的以太坊智能合约的开发过程. 开发环境 在以太坊上开发应用&#xff0c;首先需要安装其客户端&#xff0c;本文使用基于Go语言的Geth, 其官网为https://github.c…

Java到LDAP教程(包括如何安装LDAP服务器/客户端)

本教程将向您展示如何编写Java代码以与LDAP交互。 但是在执行此操作之前&#xff0c;我们需要在计算机上设置LDAP服务器和客户端。 如果此时您不确定到底是什么LDAP&#xff0c;建议您参考这篇文章&#xff0c;其中提供了一个很好的定义示例。 &#xff08;简而言之&#xff0…

在linux下赋予000权限,【linux】对于文件权限的理解

本篇博文旨在介绍linux下的权限问题&#xff1b;介绍了Linux下&#xff0c;查看权限、修改权限等方法&#xff1b;并通过分别在超级用户(root)和普通用户下进行测试&#xff0c;探索不同等级的用户进入目录需要的权限&#xff0c;以及进入后&#xff0c;显示和创建文件需要的权…

手把手教你制作简易计算器

实现过程&#xff1a; HTMLCssJS 具体通过标签实现计算器整个的框架 通过Css样式实现计算器页面布局及框架优化 通过JavaScript算法实现计算器计算过程 次实验过程&#xff1a; 背景图片背景音乐&#xff08;看个人意愿加&#xff01;&#xff09; 安排&#xff1a; <!--HT…

安装tron_具有Tron效果的JavaFX 2 Form

安装tron这是一个具有TRON效果的简单JavaFX登录表单。 在此示例中&#xff0c;我使用CSS设置TextField和Button的样式。 这是CSS和Effect代码的片段&#xff1a; .text-field{-fx-background-color: transparent;-fx-border-color: #00CCFF;-fx-text-fill: white; }.password-f…

在Spring 4.2中更简单地处理异步事务绑定事件

介绍 如您可能已经知道的&#xff08;例如&#xff0c;从我以前的博客文章中 &#xff09;&#xff0c;不再需要创建一个单独的类&#xff0c;该类使用onApplicationEvent方法实现ApplicationListener以便能够对应用程序事件做出响应&#xff08;包括来自Spring Framework本身和…

linux chattr 无权限,从零开始学习Linux(二十八):文件权限之chattr权限

1、chattr命令命令格式&#xff1a; chattr [-] [选项] 文件名或者目录名&#xff1b;参数说明&#xff1a;&#xff1a;增加权限&#xff1b;-&#xff1a;删除权限&#xff1b; 等于某权限&#xff1b;选项说明&#xff1a;i&#xff1a;如果对文件设置i属性&#xff0c;则不…

初等数论及其应用——中国剩余定理

在线性代数中&#xff0c;我们用高斯消元解决多元的线性方程组&#xff0c;而在数论中&#xff0c;面对一元变量的线性模方程组&#xff0c;我们利用中国剩余定理去求解x。 转载于:https://www.cnblogs.com/rhythmic/p/5928483.html

linux c 11 运行库,11.1.3 运行库与I/O

11.1.3 运行库与I/O在了解了glibc和MSVC的入口函数的基本思路之后&#xff0c;让我们来深入了解各个初始化部分的具体实现。但在具体了解初始化之前&#xff0c;我们要先了解一个重要的概念&#xff1a;I/O。IO(或I/O)的全称是Input/Output&#xff0c;即输入和输出。对于计算…