普元启动服务失败的解决方法.docx

上传人:b****7 文档编号:10322489 上传时间:2023-02-10 格式:DOCX 页数:23 大小:269.41KB
下载 相关 举报
普元启动服务失败的解决方法.docx_第1页
第1页 / 共23页
普元启动服务失败的解决方法.docx_第2页
第2页 / 共23页
普元启动服务失败的解决方法.docx_第3页
第3页 / 共23页
普元启动服务失败的解决方法.docx_第4页
第4页 / 共23页
普元启动服务失败的解决方法.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

普元启动服务失败的解决方法.docx

《普元启动服务失败的解决方法.docx》由会员分享,可在线阅读,更多相关《普元启动服务失败的解决方法.docx(23页珍藏版)》请在冰豆网上搜索。

普元启动服务失败的解决方法.docx

普元启动服务失败的解决方法

普元启动服务失败的解决方法  

当多个人同时使用一个数据库的时候,启动普元控制台会一直停留在rcall,然后显示一个超时的警告,那样就需要修改一下普元的一个定时器配置项。

   安装目录下\Primeton\Platform\apps_config\default\config中的一个user-config.xml文件将下列代码中高亮字段中的true改为false即可                    

--IsSchedulerStart[optional,defaultto"true"],whethertostarttimerwhenapplicationstartsup-->             true          

--DataSouceName[optional,defaultto"default"],datasoucename(mustbethesameasDataSource'sGroupname)->          

--configValuekey="DataSouceName">default             

当EOS启动调试服务时,控制台停留在RCALL后无反应

一般是因为定时任务的表被锁住的原因,可在plsqldeveloper中执行以下语句:

select'altersystemkillsession'''||b.SESSION_ID||','||c.SERIAL#||'''immediate;'

fromv$locked_objectb,v$sessionc

whereb.SESSION_ID=c.SID

将查询结果复制到新的SQL窗口执行,执行完成后再启动服务

--解决EOS连接失败无法启动的问题--查看有没有被锁的对象 

select*fromv$locked_object--查看被锁的对象是哪张表

select*fromdba_objectswhereobject_idin(selectt.OBJECT_IDfromv$locked_objectt)

--select*fromdba_objectswhereobject_id=73713--从菜单栏进入Tools/Sessions,将Status='ACTIVE'andSid=被锁对象id的记录,点击右键菜单中的Kill

跟操作系统的兼容性有关,建议去下看ide\eclipse\plugins目录下org.eclipse.swt.win32.win32.x86_3.2.0.

和org.eclipse.swt_3.2.0两个jar的版本,更换成高版本试试。

提供清理eos开发过程中缓存清理的方法

摘要:

提供清理eos开发过程中缓存清理的方法。

在eos开发过程中,经常遇到新开发的代码无法使用,右键部署之后依然使用原来的老旧代码,非常影响开发速度。

这里提供下清理缓存的方式,确定我们的最新代码能够被使用。

对于分组开发过程中,各人代码版本差异无法实现同样的运行效果有特效。

1.       删除%EOS_HOME%\apps_config\default\work_temp下的所有文件和文件夹。

如需使用平台的各种日志请酌情备份logs下的内容。

2.       删除%EOS_HOME%\apache-tomcat-7.0.54\work下的所有内容,情况tomcat的缓存。

3.       删除%EOS_HOME%\apache-tomcat-7.0.54\webapps\default\WEB-INF\_srv\work\user下我们自己项目的内容。

慎重,别删错了,我们自己开发的。

ESB修改默认端口61616

windows操作系统下的默认的ICS服务(InternetConnectionSharing)默认占用了61616端口,因此要解决jms端口冲突的情况有两种方式。

方式一:

 停止ICS服务。

     命令行执行“services.msc”,找到ICS服务,右键停止,并设置为以后手动启动。

方式二:

修改ESB下JMS默认端口。

      找到D:

\Primeton\ESB\studio\server\EOS\_srv\config下的esb-mq-config.xml和fts-server-config.xml文件,分别修改如下内容:

  (esb-mq-config.xml)

//0.0.0.0:

61616"/>

 (fts-server-config.xml)

 

  tcp:

//127.0.0.1:

61616 

  5 

  1 

  

如何修改Platform发布Webservice服务的命名空间

摘要:

如何修改Platform发布Webservice服务的命名空间()为自己指定的名字。

问题描述:

Platform发布Webservice服务,在浏览器上查看wsdl,客户想修改其中的命名空间,如下图红色框的内容,想更换成自己的命名空间。

适用环境:

 PlatformV6及以上版本

处理经验:

 可以修改user-config.xml中的配置,将DefultNameSpace这行的注释放开,修改为自己指定的值。

        

            

--

        

    

 

应用被拦截,调用报错无法访问

摘要:

应用被拦截,调用报错无法访问

场景描述:

 

test.html 放在 Tomcat 的 webapps/ROOT 目录下,或者其他非default应用下

该静态 HTML 页面中有一个超链接 

//127.0.0.1:

8080/default/" target="_blank">EOStest

在资源管理器中直接双击该文件,在浏览器打开后(file:

/// 协议),点击该超链接可以正常访问。

但如果我通过 http:

//127.0.0.1:

8080/test.html 访问该页面(http:

// 协议),点击该超链接时,直接报错了,错误信息为:

调用异常,请查看日志!

而使用window.open没有问题。

EOStest,

functionopen_win() 

{

window.open("http:

//127.0.0.1:

8080/default/skins/default/index.jsp")

}

情况分析:

获取前后http头,referer为不同应用之间的请求,那么可能被default给拦截了。

解决办法:

去除拦截器:

把apps_config\default\config\eos\handler-web.xml中的以下配置注释掉,看看是否还会不会有问题:

   

 

摘要:

EOS工程部署到JBOSS后报错。

分析日后初步确定为"\jboss-6.1.0.Final\common\lib\slf4j-api.jar"与"\jboss-6.1.0.Final\server\default\deploy\default.ear\default.war\WEB-INF\lib\slf4j-api-1.5.6.jar"冲突导致

该问题已经解决。

方案如下:

 修改jboss\server\default\deployers\jbossweb.deployer\META-INF\war-deployers-jboss-beans.xml 添加org.slf4j,以过滤该包

代码如下:

1.

-- Allow for war local class loaders:

 in testing -->  

2.    

3.     -1  

4.  javax.servlet,mons.logging,org.slf4j         

5.    

然后重启JBOSS服务器。

原因分析:

  jboss加载jar包顺序问题。

摘要:

在最近修改SSO应用的时候,涉及到需要在jar包中读取工程配置文件的问题。

在jar包中,读取配置文件,需要单独处理。

项目中的一些配置文件,如dbconfig.propertieslog4j.xml不想打包进jar。

因为可能会修改其中的一些配置信息,打包进jar,就变得比较笨拙,不方便修改文件。

可以用如下方式,实现在jar包中读取外部配置文件。

方法一:

关键代码。

读取properties文件方法:

InputStream ins = getClass().getResourceAsStream("/resource/dbconfig.properties"); 

但是log4j.xml又需要单独处理:

PropertyConfigurator.configure(System.getProperty("user.dir") + "/resource/log4j.xml"); 

方法二:

配置文件out.properties和jiar包在同一个目录下面:

FileInputStream inputStream1 = new FileInputStream("out.properties"); 

配置文件in.properties在jar包内部:

InputStream inputStream2 = a.class.getResourceAsStream("/in.properties");

org.apache.axis2.AxisFault:

WSDoAllReceiver:

摘要:

使用EOS7.2自动生成的客户端代码,在调用带有安全头部消息的webservice接口的时候,会经常出现org.apache.axis2.AxisFault:

WSDoAllReceiver:

IncomingmessagedoesnotcontainrequiredSecurityheader的异常,可以照下文处理

使用EOS7.2自动生成的客户端代码,在调用带有安全头部消息的webservice接口的时候,会经常出现org.apache.axis2.AxisFault:

WSDoAllReceiver:

IncomingmessagedoesnotcontainrequiredSecurityheader的异常,表示传入的消息不包含所需的安全报头,经过分析发现是该方法在第一次被调用后,已经生成了一些安全校验数据,ListenerManager.defaultConfigurationContext不为空,无法对新的请求进行安全数据的封装,导致请求失败,应该清空ListenerManager.defaultConfigurationContext应用环境,重新生成对应的安全校验数据。

可以照如下方式进行处理。

在使用客户端代码的方法中,加入ListenerManager.defaultConfigurationContext=null;

用于清空运行环境,以对新的请求,作出新的安全设置。

示例代码片段:

@Bizlet

publicMapsellOrderPriceUpdate(SellOrderImplsellOrderImpl,SellOrderDetailImpl[]sellOrderDetailImpls)throwsException{

 ListenerManager.defaultConfigurationContext=null;  //重置axis2部分运行参数环境,用于新的请求

ZCOP_SERVICEStub.ZifSoChangein=newZCOP_SERVICEStub.ZifSoChange(); //输入

ZifSoChangeResponseresponse=newZCOP_SERVICEStub.ZifSoChangeResponse();//输出

 

EOS在业务程序中获取逻辑构件执行的SQL语句

文章 > huangxu@ > 文章详情

EOS在业务程序中获取逻辑构件执行的SQL语句

  huangxu@ 发表于3个月前 来自话题 #应用开发平台(EOSPlatform)#  · 

90 浏览

摘要:

更改log4j的日志配置,使用类继承方式,方法重写,在程序中获取逻辑流执行SQL。

配置文件:

应用配置目录/log4j-sys.xml(可根据实际情况使用更改具体配置文件);

更改log4j的日志配置,使用类继承方式,方法重写,在程序中获取逻辑流执行SQL。

配置文件:

应用配置目录  /log4j-sys.xml (可根据实际情况使用更改具体配置文件);

 

配置文件说明:

config/log4j-deploy.xml 部署日志 记录系统启动、停止、构件包部署、集群通知等信息的日志。

config/log4j-trace.xml   跟踪日志 Server引擎的调试日志,用于系统维护人员定位系统运行问题使用。

config/log4j-sys.xml    系统日志  大粒度的引擎运行的入口、出口的日志,用于调用栈分析,可以进行性能分析使用

config/log4j-engine.xml 引擎日志  细粒度的引擎运行日志,可以打印上下文数据,用于定位业务问题。

 

记录时机:

页面流(P)执行、逻辑流(B)执行、服务(S)执行、Web服务(W)调用、定时任务(D)执行、JSP(J)执行、SQL(Q)执行(超过时限者记录)、运算逻辑(X)执行(超过时限者记录);

 

记录格式:

有固定格式

[记录时间][请求编号][P|B|S|W|D|J|Q|X(类型)][Begin|End|Exception|Run][全名][执行时长][父全名][IP地址][登录用户ID][登录用户名][当前内存总量][当前空闲内存量][自定义信息]。

配置文件log4j-sys.xml ,找到log.sys.sql开关,

off更改为all

找到RollingFileAppender

新建新类LimsLogOut继承RollingFileAppender,重写doAppend方法,方法参数LoggingEvent内有属性可区分SQL。

截图实例如下:

 

由于该类记录SQL日志为超过时限者记录,时限默认设置为1000毫秒,很

多sql执行时间可能不需要1000毫秒,需进行更改,

找到sys-config.xml配置文件,将属性LogSqlWhenTimeout设置为1。

部署配置文件,在新建类LIMSLogOut中可以处理SQL日志。

 

多个EOS连接同一个数据库出现定时器表锁定的问题解决方案

文章 > bigdabao > 文章详情

 

多个EOS连接同一个数据库出现定时器表锁定的问题解决方案

  bigdabao 发表于4个月前 来自话题 #应用开发平台(EOSPlatform)#  · 

260 浏览

摘要:

多个EOS连接同一个数据库出现定时器表锁定的问题解决方案

问题描述:

 如果多个EOS连接同一个数据库,在server启动的时候,会出现EOS_QRTZ_LOCKS锁表的情况,导致Server启动不成功

解决方案:

   多个环境连通过库,容易出现定时器锁表的问题,因为定时器默认情况下是启动,可尝试如下操作:

--IsSchedulerStart[optional,defaultto"true"],whethertostarttimerwhenapplicationstartsup-->true

--DataSouceName[optional,defaultto"default"],datasoucename(mustbethesameasDataSource'sGroupname)-->

--configValuekey="DataSouceName">default将颜色标记的true改为false(连同一个库的每个环境都需要改)

 

用户session失效,ajax调用不能跳转的解决方案

文章 > liucl > 文章详情

用户session失效,ajax调用不能跳转的解决方案(PrimetonEOS)

  liucl 发表于9个月前 来自话题 #应用开发平台(EOSPlatform)#  · 

341 浏览

摘要:

在某客户项目支持过程中发现session失效后,ajax还能继续调用,原因是在拦截器虽然能拦截到ajax调用,也做了跳转到index.jsp的操作,但由于是ajax调用,在index.jsp中并不能完成跳转,页面没有任何变化,所以不能正常跳转到登录页面,在abframe或其它项目可能也存在这种问题。

场景

一个基于Ajax技术的Web应用,采用的是多页面方式,每个页面内部使用Ajax实现复杂业务逻辑之间的无刷新切换,使用了Struts来实现MVC。

问题

对于Ajax请求,只有在通过用户验证无误之后才能对请求作出响应。

如果用户长时间不做操作导致Session过时之后才发出请求,则此时应该跳转到出错页面,提示用户重新登录。

对于非Ajax请求,可以自定义异常并针对此异常设置相应的出错页面。

在用户信息验证失败的时候直接抛出此异常即可,web容器会自动捕捉到此异常并且显示出错页面;但是,对于Ajax请求,则不会如期待的那样自动跳转到出错页面。

若不错特殊处理,Ajax请求的回调函数会得到意想不到的数据而导致程序出错。

分析

对于一个Ajax的应用,每一次客户端和服务器的数据交互,可以看成是在一个由客户端的XMLHttpRequest和服务器端的Servlet(这里假设用Servlet响应Ajax请求)组成的闭合管道。

解决

在Filter中,判断当前用户是否处理登录状态,如果session已经失效则调用response.getWriter.write("session_time_out");

修改eos-ajax.js内容,判断返回的ajax.responseText的内容是否为"session_time_out",如果相等,则认为session已经失效并调用top.location="auth/login.jsp";

注意

eos-ajax.js是平台js库文件,所以像"auth/login.jsp"这样的项目路径最后采用配置的方式。

总结

对于Ajax的请求,其数据流是封闭的,服务器发送给在客户端的数据都被XMLHttpRequest对象所获得。

本文通过从Filter中发出javascript代码让其在客户端得到执行,从而可以在session过时验证用户信息失败之后,让客户端自动跳转到登录页面,与非Ajax请求时的客户体验相一致。

对于Ajax请求,此方法进一步推广,可以直接在服务器端发出javascript让其在客户端得到执行。

 

FTP大数据解决方案

 

某客户系统EOSPlatform流程数据丢失问题定位以及故障排除过程

文章 > yang-yong > 文章详情

某客户系统EOSPlatform流程数据丢失问题定位以及故障排除过程

  yang-yong 发表于9个月前 来自话题 #应用开发平台(EOSPlatform)#  · 

88 浏览

摘要:

从解决问题的角度,我们不建议用户直接将Connection的autoCommit设置为false,理由就是这样破坏了数据库连接;如果用户需要将连接设置为false,则需要在用完连接后,将连接的状态设置回去;或者直接在外层使用事务。

一.客户环境

产品版本:

EOSPlatform6.5

服务器:

Was7,4个节点的集群

数据库:

Oracle11g

JDK版本:

1.6

浏览器:

IE7

二.问题描述

客户环境上主要表现为通过逻辑流调用了BPS的服务,同时在逻辑流里面存在业务数据的操作,调用完逻辑流之后,流程数据和业务数据都丢失了,且整个过程没有抛出异常,问题只是偶然重现,而且只能在正式环境上重现,测试环境始终没有重现问题。

三.问题分析定位过程

1.熟悉客户系统,了解问题重现方式,发现流程数据丢失需要客户操作很多次才会出现一次,重现概率比较低;

2.熟悉客户代码,发现客户的逻辑流里面存在嵌套事务,且业务操作和流程操作在同一个事务里面,对流程的操作在一个子事务里面,逻辑流里面事务设置都

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1