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

枣庄网站建设制作南京市建设档案馆网站

枣庄网站建设制作,南京市建设档案馆网站,app制作教程视频全集,广告公司的网站建设jboss fuse 教程您是否曾经尝试了解一些简单的东西不起作用的过程#xff1f; 您正在任何众所周知的上下文中编写代码#xff0c;无论出于何种原因它都无法正常工作。 而且您信任您的平台#xff0c;因此您认真阅读了所有日志。 而且您仍然不知道为什么某些行为不符合预期… jboss fuse 教程 您是否曾经尝试了解一些简单的东西不起作用的过程 您正在任何众所周知的上下文中编写代码无论出于何种原因它都无法正常工作。 而且您信任您的平台因此您认真阅读了所有日志。 而且您仍然不知道为什么某些行为不符合预期。 通常如果我有幸从事开放源代码项目那么接下来要做的就是开始阅读代码 。 多次工作 但是几乎总是没有编写该代码。 而且您对产品不太了解。 所以是的您可以看到上下文中的变量。 您不知道它们的可能值 更糟糕的是您不知道这些值在何处创建甚至何时创建。 在这一点上我通常要做的是与调试器连接。 我永远不会记住Java进程需要允许调试的JVM参数但是我知道我已经在某个地方编写了这些参数。 而且现代IDE会向我建议这些因此远程连接到复杂的应用程序服务器并不是什么大麻烦。 好的我们已连接。 我们可以在离我们认为重要的部分不远的地方放置一个断点并逐步遍历代码。 最终增加了更多的优势。 IDE 变量视图使我们可以在上下文中查看变量的值。 我们甚至可以浏览整个对象树并调用代码片段以防对象的普通内存状态不能真正提供所需的准确信息假设您要格式化日期或过滤集合。 我们拥有所有工具但是……这是一个缓慢的过程 。 每次我在特定的断点处停止时都必须手动浏览变量。 我知道我们可以通过监视变量来改善这种情况这些变量始终位于概述窗口的顶部可以让您快速查看已经确定的重要内容。 但我个人发现 只有在变量很少的情况下 监视才有意义 由于它们都共享相同的名称空间因此当您不在一个范围内时会看到许多未设置的值这只会分散您的视线变量。 我最近学到了一种技巧可以改善与您共享的这些工作流程以防您不知道 IntelliJ 甚至是Eclipse 都有一个巧妙的技巧使您可以在通过断点时添加打印语句 。 如果将其与防止断点暂停结合起来则有一种不错的方法可以通过日志调用来扩展正在调试的代码。 对于IntelliJ请在此处检查http://www.jetbrains.com/idea/webhelp/enabling-disabling-and-removing-breakpoints.html 而对于Eclipse而言请检查以下技巧http://moi.vonos.net/2013/10/adhoc-logging/或让我知道是否有更清洁或更新颖的方法来达到相同的结果。 上面的技巧起作用。 但是它的主要缺点是您要向工作空间添加本地配置 。 您不能轻易与他人分享此内容。 您可能希望将工作空间重新用于其他会话并且看到所有这些日志条目或断点会分散您的注意力 。 因此在寻求IDE的外部支持时我决定尝试Byteman 。 Byteman实际上提供的功能远远超出了我这次所需的功能这可能是我决定了解是否可以在Fabric8中使用它的主要原因。 快速回顾一下Byteman的工作直接摘自其文档 Byteman是一个字节码操作工具它使在加载时或应用程序运行时更改Java应用程序的操作变得简单。 它可以工作而无需重写或重新编译原始程序。 提供 跟踪特定代码路径的执行并显示应用程序或JVM状态 通过更改状态进行计划外的方法调用或强制意外返回或抛出来破坏正常执行 安排由独立应用程序线程执行的活动的时间安排 监视和收集汇总应用程序和JVM操作的统计信息 在我的特定情况下我将使用列出的行为中的第一个但是您可以轻易地猜到所有其他方面在某些时候都可以派上用场 添加一些逻辑来防止NullPointerException 短路一些逻辑因为您遇到的错误不在代码库中但您仍然想看看如果不存在该错误会发生什么 您可以想象的其他任何事情…… 开始使用Byteman通常特别容易 。 您甚至没有被迫使用特定指令启动jvm。 您可以只附加到已经运行的进程 这在大多数情况下都有效但不幸的是由于OSGi的影响在默认配置下不适用于Karaf。 但不用担心该功能仅是简单的配置编辑 。 您必须编辑文件 $KARAF_HOME/etc/config.properties 并添加此2包到proprerty org.osgi.framework.bootdelegation org.jboss.byteman.rule,org.jboss.byteman.rule.exception 该属性用于指示osgi框架从父Classloader的那些包中提供类。 参见http://felix.apache.org/site/apache-felix-framework-configuration-properties.html 这样您将避免在触发Byteman规则时引发ClassCastException 。 这几乎是我们在Fuse上使用Byteman所需的所有额外工作。 这是我与平台互动的实际示例 # assume you have modified Fabric8s config.properties and started it and that you are using fabric8-karaf-1.2.0-SNAPSHOT# find your Fabric8 process id $ ps aux | grep karaf | grep -v grep | cut -d -f3 5200# navigate to the folder where you have extracted Byteman cd /data/software/redhat/utils/byteman/byteman-download-2.2.0.1/ # export Byteman env variable: export BYTEMAN_HOME$(pwd) cd bin/ # attach Byteman to Fabric8 process, no output expected unless you enable those verbose flags sh bminstall.sh 5200 # add this flags if you have any kind of problem and what to see whats going on: -Dorg.jboss.byteman.debug -Dorg.jboss.byteman.verbose # install our Byteman custom rules $ sh bmsubmit.sh ~/Desktop/RBAC_Logging.btm install rule RBAC HanldeInvoke install rule RBAC RequiredRoles install rule RBAC CanBypass install rule RBAC UserHasRole # invoke some operation on Fabric8 to trigger our rules: $ curl -u admin:admin http://localhost:8181/jolokia/exec/io.fabric8:typeFabric/containersForVersion(java.lang.String)/1.0 {timestamp:1412689553,status:200,request:{operation...... very long response}# and now check your Fabric8 shell:OBJECT: io.fabric8:typeFabricMETHOD: containersForVersionARGS: [1.0]CANBYPASS: falseREQUIRED ROLES: [viewer, admin]CURRENT_USER_HAS_ROLE(viewer): true 我的Byteman规则如下 RULE RBAC HanldeInvoke CLASS org.apache.karaf.management.KarafMBeanServerGuard METHOD handleInvoke(ObjectName, String, Object[], String[]) AT ENTRY IF TRUE DO traceln( OBJECT: $objectName METHOD: $operationName ARGS: java.util.Arrays.toString($params) ); ENDRULERULE RBAC RequiredRoles CLASS org.apache.karaf.management.KarafMBeanServerGuard METHOD getRequiredRoles(ObjectName, String, Object[], String[]) AT EXIT IF TRUE DO traceln( REQUIRED ROLES: $! ); ENDRULERULE RBAC CanBypass CLASS org.apache.karaf.management.KarafMBeanServerGuard METHOD canBypassRBAC(ObjectName) AT EXIT IF TRUE DO traceln( CANBYPASS: $! ); ENDRULERULE RBAC UserHasRole CLASS org.apache.karaf.management.KarafMBeanServerGuard METHOD currentUserHasRole(String) AT EXIT IF TRUE DO traceln( CURRENT_USER_HAS_ROLE( $requestedRole ): $! ); ENDRULE 显然这只是Byteman可以为您提供服务的简短示例。 我邀请您阅读项目文档因为您可能会发现不错的结构 这些结构可以使您编写更简单的规则或对其进行完善以仅在与您相关的情况下才真正触发如果在我的示例中您在输出中看到一些噪音您可能已经打开了正在执行轮询的Hawtio实例从而触发了一些已安装的规则。 特别感谢Andrew Dinn向我解释了Byteman的工作方式和最初失败的原因。 由于我的错误截屏视频不是最佳选择但是由于我有一个Hawt.io实例调用受保护的JMX操作因此您清楚地看到了增加的噪音 翻译自: https://www.javacodegeeks.com/2014/10/use-byteman-in-jboss-fuse-fabric8-karaf.htmljboss fuse 教程
http://www.zqtcl.cn/news/800387/

相关文章:

  • 凡科做的网站提示证书错误网络营销渠道可分为哪几种
  • 南京手机网站制作公司免费设计房屋效果图软件有哪些
  • 定制类网站怎么样做网页设计
  • 企业门户网站建设优势网站登录模版
  • 六盘水建设网站徐州建站平台
  • 昆明有多少做网站的公司公司软文代写
  • 东莞模板网站做一个电子商务网站在哪里做
  • 给别人网站做跳转株洲专业网站排名优化
  • 国外网站空间租用费用网站前端设计图
  • 宜州做网站点点网 xml转wordpress
  • 太原建站方法erp系统好上手吗
  • 网站建设如何实现检索功能河南城乡建设网站
  • 江苏做电缆桥架的公司网站购物网站答辩ppt怎么做
  • 惠州网站建设系统公司公司网站建设公司
  • 做酒类直供网站行吗石家庄桥西网站制作公司
  • 电子商务门户网站的研究与实现漳州做网站多少钱
  • 咖啡网站源码呼和浩特网站建设价位
  • 邯郸哪儿能做网站广州冼村房价多少钱
  • 网站建设开发成本设计素材库
  • wordpress获取站点链接wordpress 滑动验证
  • 怎么把网站上的通栏手机公司网站建设
  • 微山县建设局官方网站wordpress 内容换行
  • 网站选择空间ps个人主页设计
  • 河北网站seo外包网站嵌入百度地图
  • 公司怎么开网站WordPress有哪些工具
  • 一流专业建设网站原平新闻头条最新消息
  • 网站开发文档模板 开源北京保障房建设项目网站
  • 营销型网站分类网站关键词如何快速上首页
  • 帝国和WordPress比较wordpress文章页标题优化
  • 宁晋网站建设温岭新站seo