深圳网站建设黄浦网络-骗钱专业网站建设的

news/2025/9/22 18:41:05/文章来源:
深圳网站建设黄浦网络-骗钱,专业网站建设的,三层别墅设计图片大全 效果图,手机网站按那个尺寸做jboss eclipse您是否编写有错误的代码#xff1f; 不#xff0c;当然不是。 对于我们其余的人#xff0c;他们确实会编写带有bug的代码#xff0c;我想解决一个非常敏感的问题#xff1a;调试在生产服务器上运行的应用程序。 因此#xff0c;您的应用程序已准备好进行部… jboss eclipse 您是否编写有错误的代码 不当然不是。 对于我们其余的人他们确实会编写带有bug的代码我想解决一个非常敏感的问题调试在生产服务器上运行的应用程序。 因此您的应用程序已准备好进行部署。 单元测试全部成功 测试人员发现了一些立即修复的小错误与其他部门的模块进行的集成测试非常顺利 QA部门没有任何投诉而UAT则以鲜艳的色彩通过了。 因此您的出色代码现在已启动并在生产服务器上运行。 当不可思议的事情发生时。 您的客户注意到该应用程序上的一些错误行为并且他的一些客户已经开始抱怨。 似乎有些讨厌的小bug设法通过了所有测试过程并投入到了实际系统中。 客户的用户向客户施加压力客户经理向您的经理施加压力并且您的经理开始向您施加压力。 您启动测试服务器并尝试重现该错误 。 所有内容都可以在测试服务器上正常运行因此这可能是一个奇怪的配置问题或者是导致问题行为的边缘情况。 最重要的是您无法使用测试床来跟踪错误。 一个贫穷的开发商应该怎么做 调试在生产服务器上运行的应用程序。 请注意当所有其他发现该错误的尝试均失败时这应被视为最后的手段。 确保在生产服务器为大量用户提供服务上进行任何细微的错误举动都会严重影响应用程序并导致更大的问题或整个服务中断。 因此如果您决定走高风险之路请继续阅读该如何做。 开始之前的一些基本准则。 首先让您的客户知道您将连接到生产系统并“执行一些检查”。 您不必具体说明将要做什么但是在没有通知客户的情况下当然也不会做任何事情。 其次选择实际流量尽可能低的时间。 这是不费吹灰之力的事情您希望受影响的用户越少越好而且您不希望服务器在高负载下运行。 第三要小心不要仓促行事。 可能会有压力但是要花点时间这将更容易找出问题所在。 我将使用JBoss AS和Eclipse以提供有关如何执行调试的动手示例。 我们将通过在JBoss上部署简单的代码并执行特定的方法来模拟正在运行的应用程序。 在大多数基于Java的应用程序服务器中启动启用了远程调试的JVM只是配置问题。 然后使用您喜欢的IDE在我的情况下为Eclipse在服务器端口上附加调试器并开始调试。 请注意启用远程调试对性能的影响很小但是我通常更喜欢启用调试选项以便可以随意连接到服务器。 在另一种情况下为了应用新设置需要重新启动JVM从而重新启动服务器。 首先让我们创建执行调试的代码。 我们将使用Java MBean 该Java MBean部署在JBoss上并具有预定义的生命周期。 MBean是托管Bean代表要管理的资源的Java对象。 JBoss实际上提供了MBean Server的实现因此可以在其上部署MBean。 最简单的方法是扩展ServiceMBeanSupport抽象类并实现符合ServiceMBean接口的服务 。 首先我们创建一个名为“ SimpleMBeanProject”的Eclipse项目。 然后我们创建一个接口我们的服务将必须实现该接口。 源代码是 package com.javacodegeeks.jboss;import org.jboss.system.ServiceMBean;public interface SimpleServiceMBean extends ServiceMBean {void start() throws Exception;void stop();String getName();void execute(String input);} 然后我们创建适当的实现类 package com.javacodegeeks.jboss;import org.jboss.system.ServiceMBeanSupport;public class SimpleService extends ServiceMBeanSupport implements SimpleServiceMBean { Overridepublic void start() throws Exception {System.out.println(Starting SimpleService MBean);}Overridepublic void stop() {System.out.println(Stopping SimpleService MBean);}Overridepublic String getName() {return SimpleService.class.getCanonicalName();}public void execute(String input) {System.out.println(Executing with input input);}} 该代码确实很简单但是具有足够的功能来进行演示。 “执行”方法是为了模拟正在运行的应用程序而将被调用的方法。 部署MBean的一种方法是将两个类捆绑到Service ArchiveSAR文件中。 该文件是一个压缩文件其中包括MBean类和相应的部署描述符在这种情况下该文件是名为“ jboss-service.xml”的文件其内容如下 ?xml version1.0 encodingUTF-8?servicembean codecom.javacodegeeks.jboss.SimpleServicenamejavacodegeeks:nameSimpleService/mbean/service “ jboss-service.xml”文件必须位于SAR捆绑包内名为“ META-INF”的文件夹内。 然后必须将归档文件放在jboss-base-dir / server / default / deploy目录中以便部署MBean。 存档可以手动创建毕竟它只是一个压缩文件但是更优雅的方法是创建一个ANT脚本来自动执行该过程。 ?xml version1.0 encodingUTF-8?project nameSimpleService Project Build defaultbuild-sartarget nameinitproperty namebase.dir value./property namelib.dir value${base.dir}/lib/property namebin.dir value${base.dir}/bin/property namesrc.dir value${base.dir}/src /property namedist.dir value${base.dir}/dist /delete dir${dist.dir}/mkdir dir${dist.dir}//targettarget namecompile dependsinitecho messageCompiling source files... /javac destdir${bin.dir} debugonsrc path${src.dir} /classpathfileset dir${lib.dir}include name**/*.jar //fileset/classpathinclude name**/*.java //javac/targettarget namebuild-sar dependscompilejar destfiledist/SimpleService.sarzipfileset dirbininclude namecom/javacodegeeks/**/*.class //zipfilesetzipfileset dirresources prefixMETA-INFinclude namejboss-service.xml //zipfileset/jar/target/project 部署SAR后“ SimpleService” MBean将出现在服务器的JMX控制台上。 这是一个Web界面可以通过以下URL访问相应地替换主机 http//主机8080 / jmx-console 向下滚动直到找到“ name SimpleService”条目然后单击链接。 Mbean的属性以及操作列表将显示在此处。 您可以使用String参数手动调用“ execute”方法相应的输入将被写入标准输出。 好了在部署SAR之后就该开始调试了。 第一步是使JBoss的JVM在启用远程套接字调试的情况下启动。 当然这是通过JVM的参数完成的并且要配置它您必须执行以下操作 Linux平台打开文件/bin/run.conf并取消注释读取的行删除“” JAVA_OPTS ” $ JAVA_OPTS -Xrunjdwptransport dt_socketaddress 8787server ysuspend n” Windows平台打开文件/bin/run.bat并取消注释该行删除“ rem”关键字 设置JAVA_OPTS -Xdebug -Xrunjdwptransport dt_socket地址 8787服务器 y暂挂 nJAVA_OPTS 将使用的端口是8787。请确保将“ suspend”参数设置为“ n”禁用或者在另一种情况下当服务器首次启动时它将暂停并等待远程调试器执行在继续操作之前先附加。 之后正常启动服务器。 现在是时候通过Eclipse连接到服务器了。 转到“运行 调试配置…”然后双击“远程Java应用程序”选项。 在“连接”选项卡上确保已选择“ SimpleMBeanProject”提供远程“主机” IP地址或主机名在我的情况下为“ localhost”和服务器侦听传入的调试会话的“端口”8787按照之前的配置。 最后请确保未选择“允许终止远程VM”因为如果选择了“终止远程VM”则服务器的JVM将在您断开调试时关闭。 生产服务器确实不是一件好事。 好的点击“调试”按钮继续。 如果未启用远程调试或者存在连接问题也许是防火墙问题您将看到以下图像 但是如果一切正常Eclipse调试器会将其自身附加到服务器您应该能够看到类似以下内容 如您所见受监视的线程显示在“调试”视图中。 如果未显示该视图请转到“窗口 显示视图 其他…”然后在“调试”类别下进行搜索。 现在假设“ SimpleService”类的“ execute”方法模拟了在每个传入请求下在生产服务器上执行的代码。 如果要在测试服务器上执行调试那么您要做的就是在方法内部添加一个断点触发请求并继续进行调试。 但是类似的东西绝对不能在生产服务器上运行。 切换断点时所有请求将暂停并等待您的操作如果执行路径当然是通过该方法传递的。 这将停止请求的执行并且很可能会引起用户的注意。 此外您将不得不同时监控的请求数量使您不知所措。 您要做的是添加一个条件断点该断点仅在提供特定输入即您提供的输入时停止。 因此断开与远程服务器的连接然后在“ execute”方法内添加一个断点在第23行。 然后右键单击断点然后从出现的菜单中选择“断点属性”最后一个。 出现属性菜单。 选中“启用条件”复选框然后在文本区域内输入条件。 断点将是有效的并且仅在该条件为真时才挂起执行。 请注意您实际上是在文本区域内编写Java代码并且可以为此使用熟悉的代码帮助使用Ctrl Space。 Eclipse是一个不可思议的工具吗 我们希望仅在方法的参数为“ myinput”时才插入断点。 再次启动远程调试现在您可以确定在提供您自己的输入时将暂停执行。 为了演示这一点请返回JMX控制台和“ SimpleService” MBean视图。 在“执行”方法中使用随机参数 点击“调用”按钮注意Eclipse并没有暂停执行。 现在使用“ myinput”作为输入值单击“ Invoke”然后注意Eclipse捕获了执行。 现在您可以继续使用众所周知的调试选项进入方法观察变量值等而不必担心系统用户会受到影响。 您可以在此处下载Eclipse项目。 快乐寻找虫子 相关文章 JBoss 4.2.x Spring 3 JPA Hibernate教程 GWT EJB3 Maven JBoss 5.1集成教程 JBoss Portal上的“ Hello World” portlet 翻译自: https://www.javacodegeeks.com/2010/06/debug-production-server-eclipse.htmljboss eclipse

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

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

相关文章

网站名称 如何注册沈阳市住房和城乡建设局网站

下载安装ECharts,完成如下样式图形。 代码和截图上传 完成 3.1.3.5 图的标记线和标记点 中的任务点 在一些折线图或柱状图当中,可以经常看到图中对最高值和最低值进行了标记。 在ECharts中,标记点(markPoint)常用于表示…

湖北自适应网站建设报价建设银行客户端官方网站

在互联网技术飞速发展的今天,各种技术席卷而来,总是让人感觉压力山大。作为.NET开发者,我们该如何刷新自己,实现价值的提升呢?2019年.NET中国开发者峰会之后,我们汇总了.NET技术圈一些优秀开发者的公众号&a…

ftp怎么连接网站网页在线制作app

描述 给一个长度为n链表&#xff0c;若其中包含环&#xff0c;请找出该链表的环的入口结点&#xff0c;否则&#xff0c;返回null。 数据范围&#xff1a; &#x1d45b;≤10000n≤10000&#xff0c;1<结点值<100001<结点值<10000 要求&#xff1a;空间复杂度 &…

国内电商平台怎么做网站优化建设河南

eclipse使用指南 eclipse下载地址&#xff1a; 1、eclipse快捷键 2、将eclipse新建项目的默认编码GBK改为UTF-8 3、Java 编程下 Eclipse 如何设置单行代码显示的最大宽度 4、使用Eclipse创建模板并格式化代码5、Java compiler level does not match the version of the install…

长春省妇幼网站做四维专业建站培训

题目描述 一个n*m矩阵由n行m列共n*m个数排列而成。两个矩阵A和B可以相乘当且仅当A的列数等于B的行数。一个N*M的矩阵乘以一个M*P的矩阵等于一个N*P的矩阵&#xff0c;运算量为nmp。 矩阵乘法满足结合律&#xff0c;A*B*C可以表示成(A*B)*C或者是A*(B*C)&#xff0c;两者的运算…

每日博客

今天做什么:今天上午上算法课和数据结构课,下午上java课 遇到的问题:没有问题

seo网站查询工具哈尔滨市工程建设招投标网

文章目录 前言1. ubuntu安装VNC2. 设置vnc开机启动3. windows 安装VNC viewer连接工具4. 内网穿透4.1 安装cpolar【支持使用一键脚本命令安装】4.2 创建隧道映射4.3 测试公网远程访问 5. 配置固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址5.3 测试…

【分布式架构实战】Spring Cloud 与 Dubbo 深度对比:从架构到实战,谁才是微服务的王者? - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

探展打卡 Serverless,2025 云栖大会来了

2025 云栖大会即将于 9 月 24 日至 26 日在杭州云栖小镇盛大开幕,本次大会分别设置 Serverless 体验区与【Serverless 助力 AI Agent 开发与落地】分论坛,参会者可现场体验热门 Serverless 产品,近距离了解最新技术…

从 0 到 1,AI 走进服装店:记住每位顾客的喜好,比你还靠谱

原文: https://mp.weixin.qq.com/s/lrodWLbUiJ12O-p_ZsL6XA 一个店长的烦恼 最近这段时间,“机器人” 相关的话题几乎刷屏了社交平台 —— 会跑步的人形机器人、紧张刺激的机器人拳击比赛,各种黑科技场景让人目不暇接…

STM32HAL 飞快入门(十九):UART 编程(二)—— 中断方式实现收发及局限分析

STM32HAL 飞快入门(十九):UART 编程(二)—— 中断方式实现收发及局限分析pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fa…

有关网站建设的外文参考文献公司装修报价

vp9协议梳理-header头文件 本文是对vp9视频码流中header中包含的语法元素的一个分类整理&#xff0c;及其对具体的解码过程的影响的分析。 这里写目录标题 vp9协议梳理-header头文件1. Vp9码流中的header头文件2. profile3. show_existing_frame, frame_to_show_map_idx4. fr…

做兽设的网站wordpress网盘主题

高级分布式系统汇总&#xff1a;高级分布式系统目录汇总-CSDN博客 自动化是关于一切人造系统自动、智能、自主、高效和安全运行的科学与技术 计算机控制技术是实现自动化的主要方法和手段 分布式控制技术是伴随着机器大工业生产而诞生的特殊计算机控制技术 计算机控制系统 …

微网站域名未备案网站加速

在Python字典中键是唯一的&#xff0c;但是业务需求是将不同的数据传递到不同的接口&#xff0c;接口列表中存在3个相同的接口&#xff0c;需要将3个接口对应的数据合并一同发送&#xff0c;逻辑实现如下 merge_dict {}for file in files:path os.path.join(folder_path, fil…

梅林网站建设沈阳工伤保险做实在哪个网站

3.康耐视VisionPro高级脚本系列教程-3.脚本编辑错误和运行错误调试方法&#xff0c;break和Contitinuee的差别_哔哩哔哩_bilibili 其实人生就是“有时有意思&#xff0c;有时没意思”。 心里有太多的不甘心&#xff0c;太多的苦水&#xff0c;是没法再吃学习的苦&#xff0c…

温州高端企业网站建设旅游网站内容

T1&#xff1a;虽说大家都被cdq限制住了思维&#xff0c;我一个注意到了排列有问题的还是凉了&#xff0c;这个我没有一点办法了。 链接&#xff1a;cdq T2&#xff1a;留坑&#xff0c;太毒了 T3&#xff1a;考场上就不觉得能写&#xff0c;虽然心里想到一些做法&#xff0c;还…

梅州网站建设中国建设人才信息网站查询

为什么要仿真随机路由&#xff1f; 路由器测试中&#xff0c;为了最大程度还原现网路由情况&#xff0c;评估路由器在现网环境下稳定工作各项指标&#xff0c;需要对导入路由进行离散仿真&#xff0c;目前路由仿真可分为导入路由与生成路由两种方式&#xff0c;导入路由需要现…

游戏ui设计网站东莞网站建设招聘

SQL表值函数和标量值函数的区别 写sql存储过程经常需要调用一些函数来使处理过程更加合理&#xff0c;也可以使函数复用性更强&#xff0c;不过在写sql函数的时候可能会发现&#xff0c;有些函数是在表值函数下写的有些是在标量值下写的&#xff0c;区别是表值函数只能返回一个…

企业网站建设的经验心得做网站的实践报告

一、需求及项目准备 二、系统框图 三、硬件接线 四、语音模块配置 五、模块测试 一、需求及项目准备 语音接入控制各类家电&#xff0c;如客厅灯、卧室灯、风扇Socket网络编程&#xff0c;实现Sockect发送指令远程控制各类家电烟雾警报监测&#xff0c; 实时检查是否存在煤气…

贪心算法应用:多重背包启发式疑问详解

贪心算法应用:多重背包启发式疑问详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…