JBoss AS

曹工说Spring Boot源码(14)-- AspectJ的Load-Time-Weaving的两种实现方式细细讲解,以及怎么和Spring Instrumentation集成

南笙酒味 提交于 2020-04-18 10:39:24
写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean Definition到底是什么,咱们对着接口,逐个方法讲解 曹工说Spring Boot源码(3)-- 手动注册Bean Definition不比游戏好玩吗,我们来试一下 曹工说Spring Boot源码(4)-- 我是怎么自定义ApplicationContext,从json文件读取bean definition的? 曹工说Spring Boot源码(5)-- 怎么从properties文件读取bean 曹工说Spring Boot源码(6)-- Spring怎么从xml文件里解析bean的 曹工说Spring Boot源码(7)-- Spring解析xml文件,到底从中得到了什么(上) 曹工说Spring Boot源码(8)-- Spring解析xml文件,到底从中得到了什么(util命名空间) 曹工说Spring Boot源码(9)-- Spring解析xml文件,到底从中得到了什么(context命名空间上) 曹工说Spring Boot源码(10)-- Spring解析xml文件,到底从中得到了什么(context:annotation-config 解析)

SAP/API

走远了吗. 提交于 2020-04-16 21:34:16
【推荐阅读】微服务还能火多久?>>> 关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术。由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、没有统一的实现模型等。 对于Webservice在SAP中的应用,多被用在系统同步要求高,数据传输负载小的接口开发上。下面以SAP系统和外部系统的交互为例,SAP ECC系统两个、外部系统一个(Java EJB3 Jboss5),分别讲述从SAP到SAP,SAP到Java,Java到Java,Java到SAP的Webservice实例。 SPROXY - ABAP Proxy Generation 查询对象名称激活(服务接口名称) 发送:SI_xxxx_In 接受:SI_xxxx_Out SXI_MONITOR - XI: Message Monitoring 查询接口日志 发送者-接口名称:SI_xxxx_In 接受者-接口名称:SI_xxxx_Out 点击 test后预览 xml格式的数据输入 1/ SAP和Java系统的Webservice实例 (SAP PO 开发一) 搭建一个WebService接口环境 (SAP PO 开发 二) 用SAP PO连通一个WebService接口 (SAP PO 开发 三

09 架构师经历故障 & 经验

允我心安 提交于 2020-04-14 11:07:11
【推荐阅读】微服务还能火多久?>>> 架构师最优价值的地方不在于他们掌握了多少技术,而在于他们经历了多少故障。 写日志引发故障 硬盘空间低于警戒值, log 输出的 level 配置为 debug, 这样一个简单的web请求就会产生大量的log。 经验教训: 应用程序自己的日志输出配置和第三方组件日志输出要分别配置。 检查 log 配置文件,日志输出级别至少是 Warn 高并发数据库引发的故障 某应用发布后,数据库 Load 居高不下,超出正常水平,报警。 原因分析: 检查数据库,发现报警是因为某条SQL引起,调查发现SQL本身没有问题,但是SQL执行频率非常高,追查发现,原来这条SQL是在网站首页被自动调用,而网站首页被访问的最频繁,所以SQL自然就被频繁执行。 经验教训: 首页不应该访问数据库,可以从缓存读取 首页最好是静态的 高并发情况下 锁 引发的故障 现象,服务器响应超时,很快又恢复了。 原因分析: 程序中某个单例对象中多处使用了 sychronized(this), 由于 this 对象只有一个,所有的并发请求都要排队获得唯一的锁. 经验教训: 使用锁要非常谨慎. 缓存引发的故障 故障现象: 没有新应用发布,但是数据库服务器突然 Load飙升,并很快失去响应. DBA 将数据库访问切换到备机,Load也很快飙升,最终网站瘫痪。 原因分析:

3D-GIS地理信息系统项目实施及目标

你说的曾经没有我的故事 提交于 2020-04-11 17:57:15
一、 项目预期目标 (一)建立三维GIS平台 建立三维可视化、多元化海域陆域集成部分地理信息平台。 (二)实现三维GIS多领域化应用 实现 三维GIS 应用到资源开发、数字城市建设、海洋开发等多领域,实现价值多元化目的。 (三)真四维时空GIS 在三维GIS平台的基础上,实现真四维时空GIS。 (四)利用数据挖掘技术进行知识发现 空间数据挖掘是从空间数据库中抽取隐含的知识、空间关系以及其他非显式的包含在空间数据库中但以别的模式存在的信息供用户使用,这是GIS应用的较高层次。 (五)建立空间数据仓库(SpatialDatawarehouse) 空间数据量非常大,而且数据大都分散在政府、私人机构、公司的各个部门,数据的管理与使用就变得非常复杂,但这些空间数据又具有极大的科学价值和经济价值,因此需重视空间数据仓库的建立工作,实现空间数据仓库优化目的。 (六)GIS产业链发展 依靠现有的技术和研发,形成GIS产业链,为创建智慧添砖加瓦。 (七)实现三维GIS普及化 在条件成熟的情况下,开发三维GIS手机客户端,推广三维GIS。 二、 项目实施方案、技术路线、组织方式与课题分析 (一)项目实施方案 三维地理信息系统是一个庞大的数据库,由于起步较晚,因此实现三维地理信息系统建设是一个长期而艰巨的任务,系统建设要由简单到复杂,分三个阶段进行。 第一阶段目标: 准确无误的收集海域陆域信息

开发者的以太坊进阶指南 | Jeth 以太坊系列线下活动第四期(北京)

血红的双手。 提交于 2020-03-02 12:41:46
** 介绍** Jeth 以太坊系列线下活动: 《开发者的以太坊进阶指南》北京站 来了! Jeth 是由掘金技术社区主办,以太坊社区基金会、以太坊爱好者与 ConsenSys 协办,围绕以太坊技术开发主题的系列线下活动。每期 Jeth 会邀请以太坊开发领域的优秀技术团队和工程师在线下分享技术干货。旨在先让参与者对区块链技术有全面、准确的理解,然后进一步学习以太坊基本原理,以及如何构建智能合约和 DApp;同时也为开发者提供线下技术交流互动机会,帮助开发者成长。 门票免费 第四期的 Jeth 北京站线下分享我们邀请到 ArcBlock 资深前端工程师 王仕军 担任此次活动的出品人和讲师 Wormhole 核心开发者 韩元超 区块链技术布道者 杨镇 第一电商公链 CyberMiles 首席科学家兼联合创始人 Michael Yuan 博士 担任讲师,帮助有编程经验的开发者能够快速上手以太坊开发。 ** 日程** 时间:2018/11/10 13:30 - 17:30 地点:P2联合创业办公社 • 中关村e世界 ** 本期嘉宾** Michael Yuan 博士 - 第一电商公链CyberMiles首席科学家兼联合创始人 Michael Yuan本科就读南京大学天体物理专业,拥有德州大学奥斯汀分校的天体物理学博士学位。他著有5本软件开发书籍,分别由 Prentice Hall

dubbo 反序列化空指针排查

独自空忆成欢 提交于 2020-02-27 06:24:05
dubbo 反序列化空指针排查 背景 一个线上问题,dubbo provider 接收到的dto对象时,报空指针错误。但是将同样的dto第二次调用,就没问题。异常如下 java.lang.NullPointerException: null at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.instantiate(JavaDeserializer.java:305) at com.alibaba.com.caucho.hessian.io

  为什么要使用EJB?

牧云@^-^@ 提交于 2019-12-22 21:56:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 板桥里人 http://www.jdon.com 2004/03/08   首先,我们必须明确,为什么要使用J2EE?J2EE优点是什么?使用J2EE的主要原因是多层结构,传统的两层C/S结构难于维护,稳定性极差,界面代码和数据库代码混淆在一起,牵一动百,多层结构使得界面和数据库完全分离,并且诞生了中间件这样的技术,如下图: Web+EJB能组成真正的多层结构   为什么使用EJB我原先认为这不是一个讨论的话题,因为EJB是J2EE重要的组成部分,可以说没有EJB的J2EE只是一种Web系统,这样的系统非常容易丧失了多层结构的大部分优点(仔细想想那些混合多种层次功能JavaBeans和传统两层结构有什么区别?)。   当然,可以人为地在Javabeans之间进行层次划分,例如Hibernate算数据持久层,某些JavaBeans是业务核心层,但是因为都是普通JavaBeans,这种划分没有一种强制性和明显标志性,这样的系统更换了主创人员或设计师,可能就会被新的程序员修改得非常混乱。   我们先看看一个包含EJB的J2EE系统是如何清晰地表达层次。如下图:   Web完全只是一个MVC模式的实现,关键业务核心是在EJB的服务层实现,这样做的优点是,Web只负责界面相关部分,因为,如果是一个智能客户端

JMX01-用途

帅比萌擦擦* 提交于 2019-12-10 22:12:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> JMX(Java Management Extensions)是一个 为应用程序植入管理功能的框架 。JMX是一套标准的代理和服务,用户可以在任何Java应用程序中使用这些代理和服务实现对应用程序的管理。这是官方文档上的定义。中间件软件WebLogic的管理页面就是基于JMX开发的,而JBoss则整个系统都基于JMX构架。 我看过很多次也无法很好的理解。我个人的理解是JMX让程序有被管理的功能,例如你开发一个WEB网站,它是在24小时不间断运行,那么你肯定会对网站进行监控,如每天的UV、PV是多少;又或者在业务高峰的期间,你想对接口进行限流,就必须去修改接口并发的配置值。 关于应用程序配置变更的管理: 初级程序员:一般是写死在程序中,到要改变的时候就去修改代码,然后重新编译发布。 熟手程序员:使用配置文件,但配置文件变更需要重启系统。 好手程序员:先把配置文件读入内存,应用程序获取配置项时,先看配置文件有没有变更,如果没有变更直接从内存中读取配置;如果配置文件有变更,则重新加载配置文件到内存后,再从内存中读取。 高手程序员,懂得物为我用,在应用程序中集成JMX框架,把配置文件的属性集中在一个类中,然后写一个MBean,来管理应用程序的相关配置项;同时JMX还为我们提供了一个工具页,方便我们对参数值进行管理和编辑

JBOSS/WILDFLY 笔记

心已入冬 提交于 2019-11-30 01:20:53
#1.IP无法访问处理 interfaces 下新增 <interface name="global"> <any-address/> </interface> <socket-binding-group name="standard-sockets" default-interface="global" port-offset="${jboss.socket.binding.port-offset:0}"> 开启JBoss7/wildfly的access_log功能 对于一个网站来说,访问日志,即access_log,对网站来说是一项很重要的功能。利用它,我们可以统计出很多有用的信息,从而给网站的运维带来方便,所以基本上每个网站都会开启这件功能。 在默认的情况下,JBoss7.1是没有开启access_log的,如果要开启这项功能,就需要修改$JBOSS_HOME\standalone\configuration\standalone.xml这个文件,相关的修改内容如下所示: <subsystem xmlns="urn:jboss:domain:web:1.0"default-virtual-server="default-host"> <connector name="http"scheme="http" protocol="HTTP/1.1" socket-binding=

Hibernate 5 Maven 仓库的 Artifacts

泄露秘密 提交于 2019-11-29 18:17:59
Hibernate artifacts 官方发布的仓库在 JBoss Maven repository 中。Hibernate 发布的 artifacts 也会同时同步到 Maven Central 仓库中,这是一个自动同步进程(可能会有一些延迟)。 Hibernate 项目小组负责维护 JBoss 的 Maven 仓库,同时还有一些 WIKI 的页面,这些 Wiki 页面中包含了与 Hibernate 仓库有关的重要信息: http://community.jboss.org/docs/DOC-14900 - 有关仓库的基本信息。 http://community.jboss.org/docs/DOC-15170 - 有关设置 JBoss 仓库,以便于在 JBoss 项目中进行开发工作。 http://community.jboss.org/docs/DOC-15169 - 设置访问仓库来将 JBoss 项目为你软件的一部分。 Hibernate ORM artifacts 是发布在 org.hibernate groupId 下的。 https://www.cwiki.us/display/HIBERNATE/Obtaining+Hibernate 来源: https://my.oschina.net/u/2344080/blog/3106335