网址大全2345色综合导航安徽seo网络优化师

news/2025/9/22 20:35:56/文章来源:
网址大全2345色综合导航,安徽seo网络优化师,颜色广告,沈阳建设工程项目审批netbeans 源文件这是一个偶然的帖子。 我一直在研究交易CDI观察者#xff0c;并尝试使用嵌入式GlassFish对它进行一些集成测试。 但是令人惊讶的是#xff0c;这种方法不能很好地工作#xff0c;我仍在弄清楚#xff0c;使用普通的嵌入式GlassFish时问题出在哪里。 同时并尝试使用嵌入式GlassFish对它进行一些集成测试。 但是令人惊讶的是这种方法不能很好地工作我仍在弄清楚使用普通的嵌入式GlassFish时问题出在哪里。 同时我转到了Arquillian 。 去年我仔细查看了Arquillian 1.0.0.Alpha4之后是时候看看这些家伙为1.0.0决赛准备了什么。 有些东西发生了一些变化我很惊讶只在网上找到一些基本的例子。 这就是我开始写这篇文章的主要原因。 要获得所有这三种技术一起工作的更完整示例。 入门 首先获得最新的NetBeans 7.1的新副本。 几周后就出来了看起来真的很好。 如果愿意您可以下载Java EE版本的副本该版本随附预先捆绑的最新GlassFish OSS Edition 3.1.1。 安装并启动它。 还要grep MySQL Community Edition的副本并安装它。 返回NetBeans通过新的项目向导设置新的Maven Web应用程序。 我们将其称为“ simpleweb”并告诉它在GF 3.1.1上运行如果尚未运行则应在服务创建之前创建Services Server GlassFish实例或者在项目设置期间创建它。 实施您的应用程序 即使这不是测试驱动的我还是喜欢使用这种方法因为我仍然相信这是您在项目中发现的最常见的情况。 您已经准备好运行很多东西并且正在寻找某种自动集成测试。 因此假设您有一个非常基本的实体我们将其称为“ com.mycompany.simpleweb.entities.AuditLog”。 您可以使用NetBeans新实体向导创建它。 实体创建过程中的第三步是提供程序和数据库设置。 定义一个新的数据源并将其命名为“ jdbc / auditlog”。 作为连接规范请使用MySQL J驱动程序并且我假设您已经建立了一个数据库并正在运行假设这被称为auditlog。 测试连接并完成向导。 如果您使用向导则将获得一些免费礼物。 除了事实您现在在源代码树中有AuditLog实体您还可以在src / main / resources中找到一个META-INF / persistence.xml文件并在src / main / setup中找到一个glassfish-resources.xml。 稍后需要这样做请记住这一点。 向您的实体添加一些其他属性。 现在我添加“字符串帐户”。 并且不要忘记定义一个Version字段“ Timestamp timestamp”。 还有一点点命名查询来获取所有AuditLogs的列表也是很好的 NamedQuery(name findAllAuditLogs, query SELECT OBJECT (e) FROM AuditLog e)Version private Timestamp timestamp; 如果使用向导请确保检查pom.xml。 该向导在提供的范围中添加了一些eclipselink依赖项因此在这里应该没有太大的区别。 接下来是添加com.mycompany.simpleweb.service.AuditRepositoryService EJB。 这应该负责AuditLog实体上的所有CRUD操作。 向其中添加一些代码以插入AuditLog PersistenceContext private EntityManager em;public void writeLog(String account) {AuditLog log new AuditLog();log.setAccount(account);em.persist(log);} 还有更多代码来查找表中的条目总数 public int findAll() {TypedQueryAuditLog query em.createNamedQuery(AuditLog.findAllAuditLogs, AuditLog.class);return query.getResultList().size();} 目前为止就这样了。 添加基本​​测试依赖项 接下来我们将添加一些非常基本的测试依赖项。 打开您的项目pom.xml文件然后将Arquillian的以下部分添加到您的项目中 repositoryidJBoss/idnameJBoss Repository/nameurlhttps://repository.jboss.org/nexus/content/groups/public//url/repository dependencymanagement dependenciesdependencygroupidorg.jboss.arquillian/groupidartifactidarquillian-bom/artifactidversion1.0.0.Final-SNAPSHOT/versionscopeimport/scopetypepom/type/dependency/dependencies /dependencymanagement dependenciesdependencygroupidorg.jboss.arquillian.container/groupidartifactidarquillian-glassfish-embedded-3.1/artifactidversion1.0.0.Final-SNAPSHOT/versionscopetest/scope/dependencydependencygroupidorg.jboss.arquillian.junit/groupidartifactidarquillian-junit-container/artifactidscopetest/scope/dependency /dependencies 除此之外您还需要嵌入式Glassfish依赖项。 dependencygroupidorg.glassfish.extras/groupidartifactidglassfish-embedded-all/artifactidversion3.1/versionscopetest/scope /dependency 我们还需要MySQL J驱动程序 dependencygroupidmysql/groupidartifactidmysql-connector-java/artifactidversion5.1.18/versionscopetest/scope /dependency 配置Arquillian 在所有必要的依赖关系就绪之后我们需要进一步配置Arquillian。 这是通过arquillian.xml完成​​的该文件必须放在src / test / resources文件夹中您可能之前需要在NetBeans外部创建它并且应如下所示 arquillian xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemalocationhttp://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian-1.0.xsdengineproperty namedeploymentExportPathtarget/arquillian/property/enginecontainer defaulttrue qualifierglassfishconfigurationproperty namesunResourcesXmlsrc/main/setup/glassfish-resources.xml/property /configuration/container /arquillian engine参数告诉Arquillian将测试存档的打包版本放置到target / arquillian文件夹中。 这对于解决问题非常有用。 容器限定符将测试运行程序指向由实体创建向导创建的glassfish-resources.xml。 全做完了。 我想建议的一件事是制作persistence.xml的副本并将其放置到重命名为test-persistence.xml之类的test / resources文件夹中。 我认为最好的做法是可以选择配置测试JPA而配置JPA则不同于生产JPA。 作为一个简单的例子我们希望在测试过程中看到更多日志记录输出因此复制的版本还应包含所需的参数。 我还想将用于测试的表生成策略更改为拖放表 property nameeclipselink.ddl-generation valuedrop-and-create-tables / property nameeclipselink.logging.level.sql valueFINEST / property nameeclipselink.logging.parameters valuetrue / 让我们看一下测试。 添加一个测试用例 让我们添加一个测试。 对于NetBeans这很容易右键单击EJB然后选择“工具创建JUnit测试”。 选择JUnit 4.x并接受名称建议“ com.mycompany.simpleweb.service.AuditRepositoryServiceTest”。 现在您的项目有了一个新的“ Test Packages”文件夹。 如您所见测试是错误的。 NetBeans假定您要基于嵌入式EJBContainer进行测试。 不错的猜测但我们想在此处添加一些Arquillian。 删除EJBContainer导入并将类剥离为此 RunWith(Arquillian.class) public class AuditRepositoryServiceTest { } 现在是时候使用ShrinkWrap定义测试的部署档案了。 测试的部署存档是使用带有Arquillian的Deployment批注的静态方法定义的。 Deploymentpublic static JavaArchive createTestArchive() {return ShrinkWrap.create(JavaArchive.class, test.jar).addPackage(AuditLog.class.getPackage()).addPackage(AuditRepositoryService.class.getPackage()).addAsManifestResource(new ByteArrayAsset(beans.getBytes()),ArchivePaths.create(beans.xml)).addAsManifestResource(test-persistence.xml,ArchivePaths.create(persistence.xml));} 在添加了应包含的软件包之后添加了一个空的beans.xml现在应该足够了并添加了test-persistence.xml作为名为persistence.xml的清单资源。 大。 最后一件事是定义测试本身。 EJB AuditRepositoryService repository;Testpublic void insertLog() throws Exception {repository.writeLog(Markus);int numberOfLogs repository.findAll();Assert.assertEquals(1, numberOfLogs);} 我们正在插入一个简单的测试实体并从数据库中获取计数该计数通过assertEquals检查。 就这样。 启动您的测试。 右键单击AuditRepositoryServiceTest类然后选择“测试文件Strg F6。 检查发生了什么 输出窗口显示起始GlassFish的Std.out。 如果进一步检查输出将会看到JDBC连接池和JDBC资源已创建 信息命令添加资源结果PlainTextActionReporterSUCCESS描述添加资源AdminCommandnull JDBC连接池mysql_auditlog_rootPool创建成功。 JDBC资源jdbc / auditlog已成功创建。 并部署了“测试”应用程序 信息WEB0671在[/ test]处加载应用程序[test] 17.01.2012 10:12:39 org.glassfish.deployment.admin.DeployCommand执行 INFO测试成功部署了6.461毫秒。 扫描输出确实会指向一些EclipseLink东西但是附加的sql日志记录似乎无效。 这是因为EclipseLink需要知道将输出指向哪个记录器。 通常日志输出将重定向到自动发现的服务器记录器。 到目前为止我们没有进行任何日志记录配置仅依赖于Java Logging的默认值。 因此让我们添加一些日志记录配置。 将一个空的logging.properties文件放入src / test / resources并向其中添加一些简单的行 handlers java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.formatter java.util.logging.SimpleFormatter java.util.logging.ConsoleHandler.level FINEST 将maven sure-fire插件添加到pom.xml的build部分 plugingroupidorg.apache.maven.plugins/groupidartifactidmaven-surefire-plugin/artifactidversion2.11/versionconfigurationincludesincludecom/mycompany/simpleweb/service/*/include/includessystempropertyvariablesjava.util.logging.config.file${basedir}/src/test/resources/logging.properties/java.util.logging.config.file/systempropertyvariables/configuration/plugin 如果现在执行清理和构建则会看到所需的日志输出显示在NetBeans构建输出中。 有限插入音频日志ID帐户时间戳值 绑定 [1马库斯2012-01-17 110254.0] 实际上如果您使用Strg F6您仍然只会看到INFO级别的消息。 要解决此问题您需要更改NetBeans运行操作设置。 右键单击您的项目然后选择“属性”。 选择“操作”和“测试文件”。 将以下内容作为新行添加到“设置属性”区域中 java.util.logging.config.file src / test / resources / logging.properties 现在您还可以通过一次测试查看所需的日志级别输出。 就是这样 您可以下载完整的示例maven项目作为ZIP文件 并带有提到的类并进行一些操作。 玩得开心 即使上面的帖子旨在成为一个更复杂的演示事实证明我还是错过了设置方面的一个大问题。 当您开始向实体引入增强功能时一切工作都很好。 仅举几例延迟加载更改跟踪获取组等。 JPA提供者喜欢称其为“增强”通常将其称为“编织”。 编织是一种操作已编译Java类的字节码的技术。 EclipseLink JPA持久性提供程序使用编织来增强提到的内容的JPA实体并进行内部优化。 编织可以在运行时加载实体时动态执行也可以在编译时通过对Entity .class文件进行后处理来静态执行。 通常建议使用动态编织因为它易于配置并且不需要对项目的构建过程进行任何更改。 您可能已经从EclipseLink看到了一些更好的日志输出如下所示 […] –开始weaver类转换器处理类[com / mycompany / simpleweb / entities / AuditLog]。 […] –编织的持久性PersistenceEntity[com / mycompany / simpleweb / entities / AuditLog]。 […] –编织变更跟踪ChangeTracker[com / mycompany / simpleweb / entities / AuditLog]。 […] –编织懒惰间接使用ValueHolder[com / mycompany / simpleweb / entities / AuditLog]。 […] –编织提取组FetchGroupTracker[com / mycompany / simpleweb / entities / AuditLog]。 […] –结束weaver类转换器处理类[com / mycompany / simpleweb / entities / AuditLog]。 Arquillian和嵌入式GlassFish的问题 想象一下您以昨天博客中的示例为例将简单的String account属性更改为如下所示 ManyToOne(cascade CascadeType.PERSIST, fetch FetchType.LAZY)private Person person; 这正是上述情况之一您的JPA提供程序需要在执行之前对类文件进行一些增强。 如果不修改项目将导致一些非常讨厌的异常 异常描述访问不存在的编织_vh_方法[_persistence_get_person_vh]时将发生NullPointerException。 未正确编织该类–对于EE部署请检查application.xml部署描述符中的模块顺序并验证包含持久性单元的模块是否在使用该持久性单元的任何其他模块之前。 […] 内部异常java.lang.NoSuchMethodExceptioncom.mycompany.simpleweb.entities.AuditLog._persistence_get_person_vh 映射org.eclipse.persistence.mappings.ManyToOneMapping [person] 描述符RelationalDescriptorcom.mycompany.simpleweb.entities.AuditLog – [DatabaseTableAUDITLOG] 在org.eclipse.persistence.exceptions.DescriptorException.noSuchMethodWhileInitializingAttributesInMethodAccessorDescriptorException.java:1170 在org.eclipse.persistence.internal.descriptors.MethodAttributeAccessor.initializeAttributesMethodAttributeAccessor.java:200 […] 表示缺少某些内容。 而这种缺失的方法是由编织过程引入的。 如果您反编译编织的实体则可以看到JPA提供程序在抱怨什么。 这是增强型实体类的外观。 这只是编织过程引入到您的代码中的增强方法之一。 public WeavedAttributeValueHolderInterface _persistence_get_person_vh(){_persistence_initialize_person_vh();if(_persistence_person_vh.isCoordinatedWithProperty() || _persistence_person_vh.isNewlyWeavedValueHolder()){Person person1 _persistence_get_person();if(person1 ! _persistence_person_vh.getValue())_persistence_set_person(person1);}return _persistence_person_vh;} 动态与静态编织 显然默认的动态编织不适用于上述设置。 为什么 编织是一个被宠坏的孩子。 它仅在要编织的实体类仅存在于应用程序类加载器中时才起作用。 嵌入式GlassFishArquillian和maven sure-fire-plugin的结合使这一点有些混乱故事的结尾是您的实体完全没有任何增强。 比较这个不错的讨论以获得更详细的解释。 如果动态波动不起作用则必须使用称为静态编织的后备。 静态意味着在构建过程中对实体进行后处理。 有了maven项目这听起来很容易。 让我们寻找这样的东西。 您可能会发现的第一件事是StaticWeaveAntTask 。 第二件事可能是Craig的eclipselink-staticweave-maven-plugin 。 让我们从StaticWeaveAntTask开始。 您必须使用maven-antrunner-plugin来进行介绍。 从左到右复制课程并进行大量的争吵以使您的课程路径牢牢掌握。 Laird Nelson在为所有三个大型JPA提供程序EclipseLinkOpenJPAHibernate提供示例配置原型方面做得很出色您可以尝试一下。 有关正在发生的事情的详细说明可以在他的博客中找到 。 感谢莱尔德的指示 不要误会我的意思这是一种有效的方法但是我根本不喜欢它。 主要是因为它给构建带来了巨大的复杂性并且看到了太多的项目甚至没有管理正常Maven项目所需的技能这对我来说根本不是解决方案。 我尝试了Craig Day完成的静态编织插件。 向simpleweb添加静态编织 因此让我们从昨天的项目中打开pom.xml并引入新的插件 pluginartifactIdeclipselink-staticweave-maven-plugin/artifactIdgroupIdau.com.alderaan/groupIdversion1.0.1/versionexecutionsexecutiongoalsgoalweave/goal/goalsphaseprocess-classes/phase/execution/executions/plugin 做完了 现在您的类已经编好了如果您通过插件配置引入一些日志记录您实际上可以看到您的实体类会发生什么。 该插件可通过repo1.maven.org获得。 我遇到的唯一问题是引入的对EclipseLink 2.2.0的依赖关系不是或当然不能通过同一存储库获得因此您可能需要使用正确的存储库和依赖关系为自己构建它。 您可以通过插件的Google代码页来获取源代码。 不要忘记将编织属性添加到您的test-persistance.xml中 property nameeclipselink.weaving valuestatic / [更新2012年1月19日] Craig发布了该插件的新1.0.2版本该版本解决了EclipseLink依赖项的问题。 现在您可以简单地包括所需的EclipseLink版本作为插件的依赖项。 还需要正确的EclipseLink Maven存储库。 具有配置的日志级别的完整示例如下所示 repositoryideclipselink/idnameRepository hosting the eclipselink artifacts/nameurlhttp://www.eclipse.org/downloads/download.php?r1nf1file/rt/eclipselink/maven.repo//url/repository[...]pluginartifactIdeclipselink-staticweave-maven-plugin/artifactIdgroupIdau.com.alderaan/groupIdversion1.0.2/versionexecutionsexecutiongoalsgoalweave/goal/goalsphaseprocess-classes/phaseconfigurationlogLevelALL/logLevel/configuration/execution/executionsdependenciesdependencygroupIdorg.eclipse.persistence/groupIdartifactIdeclipselink/artifactIdversion2.3.1/version/dependency/dependencies/plugin 参考 具有NetBeans的Arquillian嵌入式GlassFishJPA和MySQL数据源和具有NetBeans的Arquillian嵌入式GlassFishJPA和MySQL数据源–来自我们JCG合作伙伴 Markus Eisele在企业软件开发和Java博客上的第二部分。 翻译自: https://www.javacodegeeks.com/2012/01/arquillian-with-netbeans-glassfish.htmlnetbeans 源文件

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

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

相关文章

学风建设网站版块wordpress 访客统计

目录 SQLite——DQL(数据查询) 数据集 select语句 条件查询 比较 确定范围 确定集合 like 查询记录 查询不重复的记录 排序和限制 排序 限制 聚合 聚合函数 语法 SQLite Group By详解 语法 实例 SQLite Having 子句 语法 实例 多…

天津网站建设制作开发公司平面设计师必看的网站

1.0 CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。 2.0 CSS语法 2.1 CSS实例 每个CSS样式由两个组成部分&#xff1…

[Paper Reading] METAGPT: META PROGRAMMING FOR A MULTI-AGENT COLLABORATIVE FRAMEWORK

目录METAGPT: META PROGRAMMING FOR A MULTI-AGENT COLLABORATIVE FRAMEWORKTL;DRMethodExperimentHumanEvalMBPP效果可视化总结与思考相关链接 METAGPT: META PROGRAMMING FOR A MULTI-AGENT COLLABORATIVE FRAMEWORK…

二进制 - 20243867孙堃2405

原码的表示分为 “符号位” 和 “数值位” 两部分,具体规则如下: 符号位:二进制数的最高位(最左边的位),用于表示正负: 符号位为 0 时,表示正数; 符号位为 1 时,表示负数。 数值位:除符号位外的其余位,直接…

建设网站要先给钱才能做英文网站怎么做外贸推广

是啊,有时候职场就是这么现实,你说你到一家公司能图啥,图它能让你享受累死累活的快感还是图他给你养老送终?还不是图那点工资,图能多学点东西在下一家公司开的高一点,多少人背井离乡不就为了博一个前程。 小蔡怎么说也算是陪公司从低谷爬起来的,至少也待了1、2年了,但是…

学习问题日记-1

学习Nginx时候,在Linux平台上安装Nginx时候遇到的问题报错。 已加载插件:fastestmirror Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&…

记一次生产环境内存溢出记录

今天同事说生产环境发生了fullGC,内存12G监控显示使用了快10G了,fullGC时候把dump文件给下载下来了,于是拿着fullGc 使用idea自带的工具分析。 发现idea自带的工具不太好用,只能显示一堆占用的char[] 和String【】,…

如何购买海外服务器常德seo公司

基础篇 1.常用图像格式介绍 常用图像像素格式 RGB 和 YUV。 1.1RGB RGB分类通常指的是将图像或颜色按照RGB(红、绿、蓝)颜色空间进行分组或分类。RGB图像格式通常包括RGB24(RGB888)、RGB32、RGBA、RGB565等。 RGB24是一种常用…

做推广网站长兴县网站建设

一、现状 低代码开发平台要让每个人,包括开发者和普通业务人员,都能够成为企业数字化过程中的主导者和构建者!让普通人更容易上手! 基于这一目标,应用需求多的云服务商成为低代码投资的主要来源。一家云服务商如谷歌云…

颜色搭配对网站重要性7zwd一起做网店官网

题8 交通灯控制系统 十字路口交通灯由红、绿两色LED显示器(两位8段LED显示器)组成,LED显示器显示切换倒计时,以秒为单位,每秒更新一次;为确保安全,绿LED计数到0转红,经5秒延时&#…

北京做网站的好公司什么网站做博客好

(1)socket套接字 1)在linux环境下,socket用于表示进程间网络通信的特殊文件类型,其本质是内核借助缓冲区形成的伪文件(不占磁盘空间,除此之外还有二进制文件,管道,字符文…

常州外贸公司网站建设寺院网站建设

点评:杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令: # kill -pid 注释:标准的kill命令通常都能达到目的。终止有问题的进…

个人网站推广怎么做百度公司简介介绍

长度最小的数组 长度最小的数组 文章目录 长度最小的数组题目描述解法暴力解法滑动窗口Java示例代码c示例代码 题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, num…

国内外c2c网站有哪些建设和同城类似的网站

此次主要在阐述人机界面和 PLC 通讯时的模式状态,并列举了通讯故障实例。帮助大伙加深对这俩者的了解,掌握起来也不再是难题,解决掉拦路虎。一 台数 显 四 辊 卷 板 机PLC 控 制 系 统 核 心 与 人机界面在使用过程中,出现人机界面…

火星wap建站python创建网页

做企业应用开发难免会跟 AD 打交道,在之前的 dotNET FrameWork 时代,通常使用 System.DirectoryServices 的相关类来操作 AD ,在 dotNET Core 中没有这个命名空间,在张善友大佬的推荐下,知道了 Novell.Directory.Ldap。…

四舍六入五成双

四舍六入五成双是一种精确度的计数保留法。这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进。如1.25保留一位小数,因为2是偶数,所…

织梦制作网站地图大型网站建设制作公司

kali linux 默认ssh是禁止root登录的 为了通过 SSH 进入你的 Kali Linux 系统,你可以有两个不同的选择。第一个选择是创建一个新的非特权用户然后使用它的身份来登录。第二个选择,你可以以 root 用户访问 SSH 。为了实现这件事,需要在SSH 配…

设计网站页面要注意什么公司展厅

pipe函数 管道函数 man pipe #include <unistd.h> int pipe(int pipefd[2]);参数介绍&#xff1a;pipefd读写文件描述符&#xff0c;0-代表读&#xff0c; 1-代表写父子进程实现pipe通信&#xff0c;实现ps aux | grep bash 功能 经常出现的问题&#xff1a; 父进程认为…

商业网站导航怎么做信阳工程建设一体化平台网站

学习使用wps将ppt的页面保存为图片的方法 方案 方案 1、打开ppt&#xff0c;点击文件&#xff0c;另存为&#xff0c;选择文件类型为图片格式&#xff0c;jpg或者png&#xff0c;如下图&#xff1a; 2、点击每张幻灯片

win7电脑做网站主机xml网站地图在线生成工具

跨境商品的采购类型有三种&#xff1a;直邮、保税、一般贸易&#xff0c;而一般贸易的商品已经清关入境了&#xff0c;虽然是跨境商品&#xff0c;但是无需再清关&#xff0c;所以商品详情页无需显示进口税相关信息。 直邮跨境商品显示的进口税信息如下图所示&#xff1a; 保税…