当前位置: 首页 > news >正文

网站空间商拿不回数据专业移动网站建设商

网站空间商拿不回数据,专业移动网站建设商,外贸看的英文网站,四川二级站seo整站优化排名法特哈斯 构建一个Fatjar#xff08;或Uberjar#xff09;#xff0c;其中包含将应用程序很好地打包在一起运行所需的一切#xff0c;这意味着您可以#xff1a; java -jar myapp.jar然后离开。 没有应用程序服务器。 没有类路径。 这种方法已经被诸如Springboot之类的微… 法特哈斯 构建一个Fatjar或Uberjar其中包含将应用程序很好地打包在一起运行所需的一切这意味着您可以 java -jar myapp.jar 然后离开。 没有应用程序服务器。 没有类路径。 这种方法已经被诸如Springboot之类的微服务架构风格和框架所普及。 简而言之 微服务架构风格是一种将单个应用程序开发为一组小型服务的方法 每个小型服务都在自己的进程中运行并与轻量级机制通常是HTTP资源API进行通信。 这些服务围绕业务功能构建并且可以通过全自动部署机制独立部署 。” 有一堆可执行的jar文件在上面的所有方框中打勾。 Java EE fatjar概念也已经在Java EE中使用了一段时间。 所有轻量级应用程序服务器均具有“微型”选项 苍蝇群 Payara Micro 汤姆 库穆鲁兹 中波 进行胖子部署有很多优点。 但是也有一些缺点。 您可以在开发时做出选择实际上这是部署时的选择。 我喜欢将开发模型与部署模型分开。 这给您带来了次优的开发周期。 您需要构建一个胖子然后停止以前的版本最有可能是将其杀死然后重新开始。 一段时间后从“代码更改”到“代码运行”的转变变得令人讨厌。 向运行中的应用程序服务器部署瘦战的好处之一是快速的周转时间。 没有类路径实际上是一个利弊。 即使fatjars的广告优势之一是没有应用程序服务器但实际上您仍然有一个应用程序服务器它只是嵌入式的。 只有一个jar文件意味着您的应用程序和嵌入式应用程序服务器具有相同的依赖关系。 您的应用程序使用的依赖项版本不同于嵌入式服务器时可能会遇到问题。 这可能会导致一些不错的隐藏错误。 能够将应用程序服务器类路径与应用程序隔离实际上是一件好事。 Java 9可以解决此问题但是大多数应用程序服务器仍在Java 8上运行。 码头工人 Docker将微服务方法带入了更深的层次并允许您隔离操作系统级别。 这意味着构建单独的jar文件变得不那么相关因为您将构建单独的Docker映像。 实际上构建一个胖罐来部署为Docker映像比瘦战要慢和重。 通常您可以对Docker映像进行分层 上图fatjar选项中的最后一层比Thinwar选项重得多因为它包含嵌入式应用程序服务器 OpenLiberty很酷 传统的Websphere庞大缓慢昂贵且难以安装。 不是用来构建微服务的东西。 IBM是Websphere Liberty轻量级应用程序服务器解决方案的较晚入门该解决方案的核心最近在OpenLiberty下开源 。 但是迟到可能是他们正确地做某些事情并且非常干净的原因。 您只能通过功能加载所需零件的方式以及如何使用自己的功能扩展服务器的方式都很棒。 即使其他应用程序服务器也使用OSGi或JBoss模块进行了某种模块化但使用Liberty则更加容易。 对于Liberty而言包括Microprofile只是另一个功能。 其他应用程序服务器已将MicroProfile添加到其fatjar“ Micro”发行版中即使我相信也可以将其添加到完整的应用程序服务器版本中但这并不容易。 另一个很酷的事情是如何仅在部署时就可以非常轻松地确定部署模型。 因此您可以拥有世界上最好的。 您可以使用Thinwar模型针对完整的应用程序服务器进行开发以快速解决问题。 构建时您可以组装一个胖子thinwar泊坞窗映像或所有映像。 您所开发的内容保持不变。 具有MicroProfile的OpenLiberty示例 我创建了一个简单的应用程序来演示这些部署选项。 代码在GitHub中可用 我不想建立一个基本的“ Hello world”因为我想包含一些MicroProfile功能因此这是一个“每日报价”应用程序。 它使用工厂加载报价提供程序目前只有一个。 当前提供者从forismatic.com获取并缓存报价。 我使用MicroProfile Configuration API来配置诸如HTTP代理URL和要加载的提供程序之类的东西。 我使用MicroProfile Fault Tolerance API来确保在提供程序源不可用时我们能够生存。 配置OpenLiberty OpenLiberty上的配置也很干净。 这样可以轻松地将配置包括在项目中。 使用Maven资源过滤还可以将某些变量提取到构建中。 在server.xml的重要部分下面您可以在github中看到完整的部分 src / main / liberty / config / server.xml ?xml version1.0 encodingUTF-8? server description${project.build.finalName}featureManagerfeaturejavaee-7.0/featurefeaturemicroProfile-1.2/feature/featureManagerhttpEndpoint iddefaultHttpEndpointhttpPort${httpPort}httpsPort${httpsPort}/application location${project.build.directory}/${project.build.finalName}.war/logging traceSpecification${log.name}.*${log.level}//server 现在我们仅包括Java EE和Microprofile的保护伞功能。 稍后我们可以进行微调以减少内存占用。 ${httpPort}和${httpsPort}实际上将来自我们使用liberty maven插件创建的bootstrap.properties 。 当我们在pom.xml中使用此资源过滤进行构建时将替换server.xml中的所有变量包括${project.build.directory}和${project.build.finalName} buildfinalName${project.artifactId}/finalNameresourcesresourcedirectory${basedir}/src/main/liberty/config/directorytargetPath${project.build.directory}/targetPathfilteringtrue/filteringincludesincludeserver.xml/include/includes/resource/resources /build 您可以在github中看到完整的pom.xml 因此当我们执行mvn clean install 会将server.xml复制到目标目录并替换变量。 部署选项 我使用maven配置文件允许我在构建时选择所需的部署选项 在pom.xml的build中 pluginsplugingroupIdnet.wasdev.wlp.maven.plugins/groupIdartifactIdliberty-maven-plugin/artifactIdversion${openliberty.maven.version}/versionconfigurationassemblyArtifactgroupIdio.openliberty/groupIdartifactIdopenliberty-runtime/artifactIdversion${openliberty.version}/versiontypezip/type/assemblyArtifact/configuration/plugin /plugins即时选项 此选项与fatjar周期遵循相同的开发周期尽管它不会创建jar文件。 如果执行mvn clean install -Pfatjar 它将安装配置来自server.xml 并在前台启动服务器。 换句话说由于服务器启动是mvn进程的一部分因此mvn进程不会完成。 要停止服务器您需要按ctrl-c进程。 profileidfatjar/idactivationpropertynamefatjar/name/property/activationbuildpluginsplugingroupIdnet.wasdev.wlp.maven.plugins/groupIdartifactIdliberty-maven-plugin/artifactIdexecutionsexecutionphaseinstall/phasegoalsgoalinstall-server/goalgoalcreate-server/goalgoalrun-server/goal /goalsconfigurationconfigFile${project.build.directory}/server.xml/configFilebootstrapPropertieshttpPort${openliberty.http.port}/httpPorthttpsPort${openliberty.https.port}/httpsPort/bootstrapPropertiesjvmOptionsparam-Xmx${openliberty.Xmx}/param/jvmOptions/configuration/execution/executions/plugin/plugins/build/profile 当然使用NetBeans之类的IDE或任何其他IDE实际上这只是您单击的按钮 完整的应用程序服务器选项 使用此选项我们要安装配置和启动服务器然后在编写代码时连续进行一次精打细算。 每次启动服务器时我们仍然从头开始安装和配置服务器但并非每次部署时都如此。 mvn clean install -Pstart-liberty将在/tmp文件夹中安装配置从server.xml 并启动一个自由服务器 profileidstart-liberty/idactivationpropertynamestart-liberty/name/property/activationbuildpluginsplugingroupIdnet.wasdev.wlp.maven.plugins/groupIdartifactIdliberty-maven-plugin/artifactIdexecutionsexecutionid1/idphasepre-integration-test/phasegoalsgoalinstall-server/goal/goalsconfigurationassemblyInstallDirectory${openliberty.installDir}/assemblyInstallDirectory/configuration/executionexecutionid2/idphasepre-integration-test/phasegoalsgoalcreate-server/goalgoalstart-server/goal/goalsconfigurationinstallDirectory${openliberty.installDir}/wlp/installDirectoryserverName${project.artifactId}/serverNameconfigFile${project.build.directory}/server.xml/configFilebootstrapPropertieshttpPort${openliberty.http.port}/httpPorthttpsPort${openliberty.https.port}/httpsPort/bootstrapProperties jvmOptionsparam-Xmx${openliberty.Xmx}/param/jvmOptions/configuration/execution/executions/plugin/plugins/build/profile 现在您可以连续部署Thinwar了 mvn clean install -Pdeploy profileiddeploy/idactivationpropertynamedeploy/name/property/activationbuildpluginsplugingroupIdnet.wasdev.wlp.maven.plugins/groupIdartifactIdliberty-maven-plugin/artifactIdexecutionsexecutionphasepre-integration-test/phasegoalsgoaldeploy/goal/goalsconfigurationappArchive${project.build.directory}/${project.artifactId}.war/appArchiveserverName${project.artifactId}/serverNameinstallDirectory${openliberty.installDir}/wlp/installDirectory/configuration/execution/executions/plugin/plugins/build /profile 停止服务器也很容易 mvn clean install -Pstop-liberty Fatjar分布 使用mvn clean install -Ppackage-liberty创建一个Fatjar发行版非常容易 profileidpackage-liberty/idactivationpropertynamepackage-liberty/name/property/activationbuildpluginsplugingroupIdnet.wasdev.wlp.maven.plugins/groupIdartifactIdliberty-maven-plugin/artifactIdexecutionsexecutionphasepackage/phasegoalsgoalpackage-server/goal/goalsconfigurationpackageFile${project.build.directory}/${project.artifactId}.jar/packageFileincluderunnable/includeserverName${project.artifactId}/serverNameinstallDirectory${openliberty.installDir}/wlp/installDirectory/configuration/execution/executions/plugin/plugins/build/profile 在目标目录中我现在可以执行一个可执行的fatjar文件 java -jar quote-service.jar 在上述所有profiles您可以使用以下命令测试示例应用程序 mvn -Dtestcom.github.phillipkruger.quoteservice.QuoteApiIT surefire:test 那应该给您当天的报价 {author:Naguib Mahfouz,text:You can tell whether a man is clever by his answers. You can tell whether a man is wise by his questions. }微调内存占用量。 首先我使用了伞形的javaee-7.0和microProfile-1.2功能即使我的应用程序仅使用这些规范的一部分。 使用jconsole我测量了正在运行的服务器的内存占用量在GC之后 50691 KB 在我的示例中您可以更改server.xml以仅包括应用程序正在使用的功能 featurejaxrs-2.0/feature featureejb-3.2/feature featurecdi-1.2/feature featurejsonp-1.0/feature featurejaxrsClient-2.0/feature featurempConfig-1.1/feature featurempFaultTolerance-1.0/feature 再次使用jconsole我测量了正在运行的服务器的内存占用量在GC之后 30,198 KB 理想情况下您还可以对pom.xml进行微调使其仅包含您使用的规范。 结论 我们可以争辩说做胖子大战vs瘦身大战以及拥有应用程序服务器的利弊是否更好。 但是在我们开始开发即下载微型发行版或完整发行版时不必做出此决定而只有在我们进行构建时才允许有更多选择。 也许可以使用其他应用程序服务器来做到这一点但是OpenLiberty使其变得容易。 更多信息 还可以阅读Pavel Pscheidl的精彩博客 在2017年构建打包和分发Java EE应用程序 OpenLiberty.io简单指南 并观看亚当·比恩 Adam Bien的这段视频 精简WARJava EE 7Docker和生产力 翻译自: https://www.javacodegeeks.com/2017/12/fatjars-thinwars-openliberty-cool.html
http://www.zqtcl.cn/news/354272/

相关文章:

  • 做网站和编程有关系吗seo百家外链网站
  • 网站新闻怎么写最新事故案例100例
  • 网站中的表格seo宣传网站
  • 河南锦路路桥建设有限公司网站网站建设会考什么
  • 高校网站建设研究意义餐饮vi设计案例
  • 触屏手机网站网站建设功能模块价格
  • 类似携程网的网站wordpress文章摘要调用
  • 好网站建设公司开发方案联盟营销的网络营销方式
  • logo免费生成网站洛阳网络建站公司
  • 建设工程部网站百度指数功能
  • 个人网站 商业时事新闻2022最新10月
  • 不会代码 怎么做网站网站视频管理系统
  • 网站空间 流量网上卡片制作
  • 网站排名seo软件机关网站源码
  • 网站手机端页面怎么做手机之家
  • 成都电子商务网站大庆城市投资建设网站
  • 电子商务网站费用wordpress 怎么手动更新
  • 中国空间站设计在轨飞行多少年南昌网站建设风格
  • 用php写的网站有哪些暖暖 视频 在线 观看 高清
  • 云空间网站怎么做海南旅游网网页制作
  • 常宁网站免费的ai作图软件
  • 网站建设讲师招聘如何做电商产品推广
  • 让百度收录网站网站开发流程进度表
  • 有几个网站能在百度做推广产品开发管理系统
  • 一个网站项目的价格表dz论坛seo
  • 企业做网站要多少钱哪个网站做动图
  • 知名企业网站例子4s店网站模板
  • 网站建设的信息安全防范技术初级买题做哪个网站好
  • 品牌营销网站建设东莞智通人才招聘网
  • 莒县建设局网站好的网站具备什么条件