报错代码位置
vo = nc.vo.gl.glreportcache.AccsubjDataCache.getInstance().getAccsubjVOByCode(pk_orgbook, (String) oSubj);
nc.vo.gl.glreportcache.AccsubjDataCache代码内容:
package nc.vo.gl.glreportcache;import java.util.HashMap;
import java.util.Iterator;
import java.util.Vector;import nc.bs.framework.common.NCLocator;
import nc.bs.logging.Logger;
import nc.itf.fi.pub.Accsubj;
import nc.itf.fi.pub.DataPower;
import nc.itf.uap.bd.accsubj.IAccsubjDataQuery;
import nc.vo.bd.b02.AccsubjGLVO;
import nc.vo.bd.b02.AccsubjVO;
import nc.vo.gl.datacache.AccsubjGLDataCacheVO;
import nc.vo.gl.sysparam.SystemParamConfig;
import nc.vo.ml.NCLangRes4VoTransl;
/**
* 此处插入类型说明。
* 创建日期:(2002-10-16 12:37:47)
* @author:王剑
*/
public class AccsubjDataCache {
public static AccsubjDataCache instance = new AccsubjDataCache(); //科目数据
public static HashMap pk_keys_datacache = new HashMap(); public static HashMap code_keys_datacache = new HashMap();
public static AccsubjMainCache datacache = new AccsubjMainCache(SystemParamConfig.getInstance().getAccsubjDatacacheServerNumber(),pk_keys_datacache,code_keys_datacache); public static HashMap period_pk_keys_datacache = new HashMap(); public static HashMap period_code_keys_datacache = new HashMap();
public static AccsubjPeriodMainCache perioddatacache = new AccsubjPeriodMainCache(SystemParamConfig.getInstance().getPeriodAccsubjDatacacheNumber(),period_pk_keys_datacache,period_code_keys_datacache);
LRUCache grouppk_datacache = new LRUCache(10000); LRUCache<String, String[]> pk_glorgbook_accpkaray = new LRUCache<String,String[]>(100); Vector vKeys=new Vector();
/**
* 此处插入方法说明。
* 创建日期:(2002-10-16 14:32:38)
* @return AccsubjSimpleVO[]
* @param newpk_corp java.lang.String
*/
public void addAccsubjToCache1(String pk_orgBook, String pk_accsubj, String year, String period, AccsubjGLVO accsubj) {
if (accsubj == null)
return;
if (pk_orgBook == null)
pk_orgBook = accsubj.getPk_glorgbook();
if (pk_accsubj == null)
pk_accsubj = accsubj.getPk_accsubj(); AccsubjGLDataCacheVO datavo = (AccsubjGLDataCacheVO) datacache.get(pk_orgBook + year + period);
if (datavo == null) {
datavo = new AccsubjGLDataCacheVO();
}
else {
datacache.remove(pk_orgBook + year + period);
}
AccsubjGLVO[] AccsubjGLVOs = datavo.getAccsubjGLvos();
Vector<AccsubjGLVO> vec = new Vector<AccsubjGLVO>();
if (AccsubjGLVOs != null) {
for (int i = 0; i < AccsubjGLVOs.length; i++) {
vec.addElement(AccsubjGLVOs[i]);
}
}
if (vec.indexOf(accsubj) < 0)
vec.addElement(accsubj);
AccsubjGLVO[] accs = new AccsubjGLVO[vec.size()];
vec.copyInto(accs);
datavo.setAccsubjGLvos(accs);
datavo.setAccsubjVOqueried(true);
datacache.put(pk_orgBook + year + period, datavo); HashMap pkmap = (HashMap) period_pk_keys_datacache.get(year + period);
if (pkmap == null)
pkmap = new HashMap();
HashMap codemap = (HashMap) period_code_keys_datacache.get(year + period);
if (codemap == null)
codemap = new HashMap();
pkmap.put(accsubj.getPk_accsubj(), accsubj);
codemap.put(pk_orgBook + accsubj.getSubjcode(), accsubj);
period_pk_keys_datacache.put(year + period, pkmap);
period_code_keys_datacache.put(year + period, codemap);}/**
* 此处插入方法说明。
* 创建日期:(2003-9-4 12:01:18)
*/
public static void clear() {
datacache.clear();
pk_keys_datacache.clear();
code_keys_datacache.clear();
period_code_keys_datacache.clear();
period_pk_keys_datacache.clear();
}
/**
* 此处插入方法说明。
* 创建日期:(2003-9-4 12:01:18)
*/
public void clear(String pk_corp)
{
datacache.remove(pk_corp);
Iterator itcode = code_keys_datacache.keySet().iterator();
while (itcode.hasNext())
{
String key = (String) itcode.next();
if (key.startsWith(pk_corp))
{
code_keys_datacache.remove(key);
}
}
Iterator itpk = pk_keys_datacache.keySet().iterator();
while (itpk.hasNext())
{
String key = (String) itpk.next();
if (key.startsWith(pk_corp))
{
pk_keys_datacache.remove(key);
}
}
}
/**
* 此处插入方法说明。
* 创建日期:(2002-10-16 14:32:38)
* @return AccsubjGLVO[]
* @param newpk_corp java.lang.String
*/
public AccsubjGLVO getAccsubjVOByCode(String pk_orgbook, String subjcode) throws Exception
{
if (pk_orgbook == null || subjcode == null || subjcode.length() == 0)
return null; if(NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread())==null)
throw new Exception(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("2002GL502","UPP2002GL502-000257")/*@res "未读到当前进程的数据源"*/);
String dataSourceName = (String)NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread());
String codeDataCatchKey = dataSourceName+"&"+pk_orgbook + subjcode;
AccsubjGLVO AccsubjGLVO = (AccsubjGLVO) code_keys_datacache.get(codeDataCatchKey); if (AccsubjGLVO == null)
{
Logger.debug("从缓存中未读的相应的科目信息...");
try
{
Logger.debug("尝试从数据库中读取科目信息...getAccsubjGLVOByCode(String pk_orgbook, String subjcode)" + pk_orgbook + "codeDataCatchKey" + codeDataCatchKey);
getAccsubjGLVOs(pk_orgbook);
AccsubjGLVO = (AccsubjGLVO) code_keys_datacache.get(codeDataCatchKey);
Logger.debug("从数据库中读取科目信息" + (AccsubjGLVO == null ? 0 : 1) + "条。");
}
catch (nc.vo.glpub.GlBusinessException e)
{
Logger.error("===========================\n从数据库中读取科目信息失败。\n\n\n");
throw e;
}
catch (Exception e)
{
Logger.error("===========================\n从数据库中读取科目信息失败。\n\n\n");
Logger.error(e.getMessage(), e);
throw e;
}
}
// else
// {
// Logger.debug("键值 " + codeDataCatchKey + " 成功从缓存里找到匹配项");
// }
return AccsubjGLVO;
}
/**
* 此处插入方法说明。
* 创建日期:(2002-10-16 14:32:38)
* @return AccsubjGLVO[]
* @param newpk_corp java.lang.String
*/
public AccsubjGLVO getAccsubjVOByCode(String pk_glorgbook, String subjcode, String year, String period) throws Exception {
if (pk_glorgbook == null || subjcode == null || subjcode.length() == 0)
return null; AccsubjGLVO AccsubjGLVO = null;
if(NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread())==null)
throw new Exception(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("2002GL502","UPP2002GL502-000257")/*@res "未读到当前进程的数据源"*/);
String dataSourceName = (String)NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread());
String dataCatchKey=dataSourceName+"&"+pk_glorgbook+ year + period+subjcode;
AccsubjGLVO = (AccsubjGLVO)code_keys_datacache.get(dataCatchKey);
if (AccsubjGLVO == null) {
Logger.debug("从缓存中未读的相应的科目信息...");
try {
Logger.debug("尝试从数据库中读取科目信息...");
getAccsubjGLVOs(pk_glorgbook, year, period);
Logger.debug("从数据库中读取科目信息" + (AccsubjGLVO == null ? 0 : 1) + "条。");
AccsubjGLVO = (AccsubjGLVO)code_keys_datacache.get(dataCatchKey);
}
catch (nc.vo.glpub.GlBusinessException be) {
Logger.debug("===========================\n从数据库中读取科目信息失败。\n\n\n");
throw be;
}
catch (Exception e) {
Logger.error("===========================\n从数据库中读取科目信息失败。\n\n\n");
Logger.error(e.getMessage(), e);
throw e;
}
}
// else {
// Logger.debug("键值 " + dataCatchKey + " 成功从缓存里找到匹配项");
// }
return AccsubjGLVO;
}
/**
* 此处插入方法说明。
* 创建日期:(2002-10-16 14:32:38)
* @return AccsubjGLVO[]
* @param newpk_corp java.lang.String
*/
public AccsubjGLVO getAccsubjVOByPK(String pk_accsubj) throws Exception
{
if (pk_accsubj == null || pk_accsubj.length() == 0)
return null;
//Logger.debug("从缓存中读取科目信息...");
if(NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread())==null)
throw new Exception(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("2002GL502","UPP2002GL502-000257")/*@res "未读到当前进程的数据源"*/);
String dataSourceName = (String)NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread());
String pkDataCatchKey = dataSourceName+"&"+pk_accsubj;
AccsubjGLVO AccsubjGLVO = (AccsubjGLVO) pk_keys_datacache.get(pkDataCatchKey); if (AccsubjGLVO == null)
{
Logger.debug("从缓存中未读的相应的科目信息...");
try
{
Logger.debug("尝试从数据库中读取科目信息..."); AccsubjVO as = Accsubj.findByPrimaryKey(pk_accsubj); if (as != null)
{
getAccsubjGLVOs(as.getPk_glorgbook());
AccsubjGLVO = (AccsubjGLVO) pk_keys_datacache.get(pkDataCatchKey);
}
Logger.debug("从数据库中读取科目信息" + (AccsubjGLVO == null ? 0 : 1) + "条。");
}
catch (nc.vo.glpub.GlBusinessException e)
{
Logger.debug("===========================\n从数据库中读取科目信息失败。\n\n\n");
throw e;
}
catch (Exception e)
{
Logger.debug("===========================\n从数据库中读取科目信息失败。\n\n\n");
Logger.error(e.getMessage(), e);
throw e;
}
}
// else
// {
// Logger.debug("键值 " + pkDataCatchKey + " 成功从缓存里找到匹配项");
// }
//AccsubjGLVO.setAccRemove(new nc.vo.pub.lang.UFBoolean(true));
return AccsubjGLVO;
}
}
vo = nc.vo.gl.glreportcache.AccsubjDataCache.getInstance().getAccsubjVOByCode(pk_orgbook, (String) oSubj);
nc.vo.gl.glreportcache.AccsubjDataCache代码内容:
package nc.vo.gl.glreportcache;import java.util.HashMap;
import java.util.Iterator;
import java.util.Vector;import nc.bs.framework.common.NCLocator;
import nc.bs.logging.Logger;
import nc.itf.fi.pub.Accsubj;
import nc.itf.fi.pub.DataPower;
import nc.itf.uap.bd.accsubj.IAccsubjDataQuery;
import nc.vo.bd.b02.AccsubjGLVO;
import nc.vo.bd.b02.AccsubjVO;
import nc.vo.gl.datacache.AccsubjGLDataCacheVO;
import nc.vo.gl.sysparam.SystemParamConfig;
import nc.vo.ml.NCLangRes4VoTransl;
/**
* 此处插入类型说明。
* 创建日期:(2002-10-16 12:37:47)
* @author:王剑
*/
public class AccsubjDataCache {
public static AccsubjDataCache instance = new AccsubjDataCache(); //科目数据
public static HashMap pk_keys_datacache = new HashMap(); public static HashMap code_keys_datacache = new HashMap();
public static AccsubjMainCache datacache = new AccsubjMainCache(SystemParamConfig.getInstance().getAccsubjDatacacheServerNumber(),pk_keys_datacache,code_keys_datacache); public static HashMap period_pk_keys_datacache = new HashMap(); public static HashMap period_code_keys_datacache = new HashMap();
public static AccsubjPeriodMainCache perioddatacache = new AccsubjPeriodMainCache(SystemParamConfig.getInstance().getPeriodAccsubjDatacacheNumber(),period_pk_keys_datacache,period_code_keys_datacache);
LRUCache grouppk_datacache = new LRUCache(10000); LRUCache<String, String[]> pk_glorgbook_accpkaray = new LRUCache<String,String[]>(100); Vector vKeys=new Vector();
/**
* 此处插入方法说明。
* 创建日期:(2002-10-16 14:32:38)
* @return AccsubjSimpleVO[]
* @param newpk_corp java.lang.String
*/
public void addAccsubjToCache1(String pk_orgBook, String pk_accsubj, String year, String period, AccsubjGLVO accsubj) {
if (accsubj == null)
return;
if (pk_orgBook == null)
pk_orgBook = accsubj.getPk_glorgbook();
if (pk_accsubj == null)
pk_accsubj = accsubj.getPk_accsubj(); AccsubjGLDataCacheVO datavo = (AccsubjGLDataCacheVO) datacache.get(pk_orgBook + year + period);
if (datavo == null) {
datavo = new AccsubjGLDataCacheVO();
}
else {
datacache.remove(pk_orgBook + year + period);
}
AccsubjGLVO[] AccsubjGLVOs = datavo.getAccsubjGLvos();
Vector<AccsubjGLVO> vec = new Vector<AccsubjGLVO>();
if (AccsubjGLVOs != null) {
for (int i = 0; i < AccsubjGLVOs.length; i++) {
vec.addElement(AccsubjGLVOs[i]);
}
}
if (vec.indexOf(accsubj) < 0)
vec.addElement(accsubj);
AccsubjGLVO[] accs = new AccsubjGLVO[vec.size()];
vec.copyInto(accs);
datavo.setAccsubjGLvos(accs);
datavo.setAccsubjVOqueried(true);
datacache.put(pk_orgBook + year + period, datavo); HashMap pkmap = (HashMap) period_pk_keys_datacache.get(year + period);
if (pkmap == null)
pkmap = new HashMap();
HashMap codemap = (HashMap) period_code_keys_datacache.get(year + period);
if (codemap == null)
codemap = new HashMap();
pkmap.put(accsubj.getPk_accsubj(), accsubj);
codemap.put(pk_orgBook + accsubj.getSubjcode(), accsubj);
period_pk_keys_datacache.put(year + period, pkmap);
period_code_keys_datacache.put(year + period, codemap);}/**
* 此处插入方法说明。
* 创建日期:(2003-9-4 12:01:18)
*/
public static void clear() {
datacache.clear();
pk_keys_datacache.clear();
code_keys_datacache.clear();
period_code_keys_datacache.clear();
period_pk_keys_datacache.clear();
}
/**
* 此处插入方法说明。
* 创建日期:(2003-9-4 12:01:18)
*/
public void clear(String pk_corp)
{
datacache.remove(pk_corp);
Iterator itcode = code_keys_datacache.keySet().iterator();
while (itcode.hasNext())
{
String key = (String) itcode.next();
if (key.startsWith(pk_corp))
{
code_keys_datacache.remove(key);
}
}
Iterator itpk = pk_keys_datacache.keySet().iterator();
while (itpk.hasNext())
{
String key = (String) itpk.next();
if (key.startsWith(pk_corp))
{
pk_keys_datacache.remove(key);
}
}
}
/**
* 此处插入方法说明。
* 创建日期:(2002-10-16 14:32:38)
* @return AccsubjGLVO[]
* @param newpk_corp java.lang.String
*/
public AccsubjGLVO getAccsubjVOByCode(String pk_orgbook, String subjcode) throws Exception
{
if (pk_orgbook == null || subjcode == null || subjcode.length() == 0)
return null; if(NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread())==null)
throw new Exception(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("2002GL502","UPP2002GL502-000257")/*@res "未读到当前进程的数据源"*/);
String dataSourceName = (String)NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread());
String codeDataCatchKey = dataSourceName+"&"+pk_orgbook + subjcode;
AccsubjGLVO AccsubjGLVO = (AccsubjGLVO) code_keys_datacache.get(codeDataCatchKey); if (AccsubjGLVO == null)
{
Logger.debug("从缓存中未读的相应的科目信息...");
try
{
Logger.debug("尝试从数据库中读取科目信息...getAccsubjGLVOByCode(String pk_orgbook, String subjcode)" + pk_orgbook + "codeDataCatchKey" + codeDataCatchKey);
getAccsubjGLVOs(pk_orgbook);
AccsubjGLVO = (AccsubjGLVO) code_keys_datacache.get(codeDataCatchKey);
Logger.debug("从数据库中读取科目信息" + (AccsubjGLVO == null ? 0 : 1) + "条。");
}
catch (nc.vo.glpub.GlBusinessException e)
{
Logger.error("===========================\n从数据库中读取科目信息失败。\n\n\n");
throw e;
}
catch (Exception e)
{
Logger.error("===========================\n从数据库中读取科目信息失败。\n\n\n");
Logger.error(e.getMessage(), e);
throw e;
}
}
// else
// {
// Logger.debug("键值 " + codeDataCatchKey + " 成功从缓存里找到匹配项");
// }
return AccsubjGLVO;
}
/**
* 此处插入方法说明。
* 创建日期:(2002-10-16 14:32:38)
* @return AccsubjGLVO[]
* @param newpk_corp java.lang.String
*/
public AccsubjGLVO getAccsubjVOByCode(String pk_glorgbook, String subjcode, String year, String period) throws Exception {
if (pk_glorgbook == null || subjcode == null || subjcode.length() == 0)
return null; AccsubjGLVO AccsubjGLVO = null;
if(NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread())==null)
throw new Exception(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("2002GL502","UPP2002GL502-000257")/*@res "未读到当前进程的数据源"*/);
String dataSourceName = (String)NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread());
String dataCatchKey=dataSourceName+"&"+pk_glorgbook+ year + period+subjcode;
AccsubjGLVO = (AccsubjGLVO)code_keys_datacache.get(dataCatchKey);
if (AccsubjGLVO == null) {
Logger.debug("从缓存中未读的相应的科目信息...");
try {
Logger.debug("尝试从数据库中读取科目信息...");
getAccsubjGLVOs(pk_glorgbook, year, period);
Logger.debug("从数据库中读取科目信息" + (AccsubjGLVO == null ? 0 : 1) + "条。");
AccsubjGLVO = (AccsubjGLVO)code_keys_datacache.get(dataCatchKey);
}
catch (nc.vo.glpub.GlBusinessException be) {
Logger.debug("===========================\n从数据库中读取科目信息失败。\n\n\n");
throw be;
}
catch (Exception e) {
Logger.error("===========================\n从数据库中读取科目信息失败。\n\n\n");
Logger.error(e.getMessage(), e);
throw e;
}
}
// else {
// Logger.debug("键值 " + dataCatchKey + " 成功从缓存里找到匹配项");
// }
return AccsubjGLVO;
}
/**
* 此处插入方法说明。
* 创建日期:(2002-10-16 14:32:38)
* @return AccsubjGLVO[]
* @param newpk_corp java.lang.String
*/
public AccsubjGLVO getAccsubjVOByPK(String pk_accsubj) throws Exception
{
if (pk_accsubj == null || pk_accsubj.length() == 0)
return null;
//Logger.debug("从缓存中读取科目信息...");
if(NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread())==null)
throw new Exception(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("2002GL502","UPP2002GL502-000257")/*@res "未读到当前进程的数据源"*/);
String dataSourceName = (String)NCUFOCatchContainer.hm_AccsubjContainer.get(Thread.currentThread());
String pkDataCatchKey = dataSourceName+"&"+pk_accsubj;
AccsubjGLVO AccsubjGLVO = (AccsubjGLVO) pk_keys_datacache.get(pkDataCatchKey); if (AccsubjGLVO == null)
{
Logger.debug("从缓存中未读的相应的科目信息...");
try
{
Logger.debug("尝试从数据库中读取科目信息..."); AccsubjVO as = Accsubj.findByPrimaryKey(pk_accsubj); if (as != null)
{
getAccsubjGLVOs(as.getPk_glorgbook());
AccsubjGLVO = (AccsubjGLVO) pk_keys_datacache.get(pkDataCatchKey);
}
Logger.debug("从数据库中读取科目信息" + (AccsubjGLVO == null ? 0 : 1) + "条。");
}
catch (nc.vo.glpub.GlBusinessException e)
{
Logger.debug("===========================\n从数据库中读取科目信息失败。\n\n\n");
throw e;
}
catch (Exception e)
{
Logger.debug("===========================\n从数据库中读取科目信息失败。\n\n\n");
Logger.error(e.getMessage(), e);
throw e;
}
}
// else
// {
// Logger.debug("键值 " + pkDataCatchKey + " 成功从缓存里找到匹配项");
// }
//AccsubjGLVO.setAccRemove(new nc.vo.pub.lang.UFBoolean(true));
return AccsubjGLVO;
}
}
解决方案 »
- JSF 2.0 自定义组件 不执行
- weblogic报错
- 解析xml时怎么能取到 node里面的属性值
- 请教bpel问题?我导入一个外部wsdl文件,可是发布的时候总是报告:openResource: invalid scheme (should be urn:)错误。怎么解决?谢谢。
- Tomcat + Ms SQL 2000启动不久后,抛java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Connection reset
- .NET已经进入与JAVA分庭抗礼的时期了。vs2005+sqlserver2005+vista操作系统,不论从性能和安全性方面都会走上一个前所未有的高度...
- 请问一个数据的问题
- 为什么我的weblogic700\server\lib目录下没有weblogic_sp.jar?
- 关于OC4J连接tomcat的问题!!!
- 初学Spring的注解方式注入,,请教一个基本问题。。求解答。
- PreparedStatement的setString方法
- web工程用ip可以访问但是用localhost不可以访问
[AWT-EventQueue-0] ERROR - [预算]系统发生异常
[AWT-EventQueue-0] ERROR - Fatal unknown error
nc.bs.framework.exception.FrameworkEJBException: Fatal unknown error
at nc.itf.tb.NtbPublic.EJB_Local.getBatchUFOResults(EJB_Local.java:3328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at nc.bs.framework.ejb.AbstractEJBServiceHandler.invoke(AbstractEJBServiceHandler.java:56)
at nc.bs.framework.ejb.AbstractEJBServiceHandler.invoke(AbstractEJBServiceHandler.java:34)
at $Proxy30.getBatchUFOResults(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at nc.bs.framework.comn.serv.ServiceDispatcher.invokeBeanMethod(ServiceDispatcher.java:351)
at nc.bs.framework.comn.serv.ServiceDispatcher.execCall(ServiceDispatcher.java:160)
at nc.bs.framework.comn.serv.CommonServletDispatcher.doGet(CommonServletDispatcher.java:75)
at nc.bs.framework.comn.serv.CommonServletDispatcher.doPost(CommonServletDispatcher.java:95)
Caused by: java.lang.NoClassDefFoundError
at nc.vo.gl.glreporttools.PrepareParameterForReport.prepareParasForReport(PrepareParameterForReport.java:323)
at nc.vo.gl.glreporttools.GroupFunctionTool.getFctGrpsOnAssType(GroupFunctionTool.java:512)
at nc.ui.gl.glreport.FunctionExecutor.exFctBtch1(FunctionExecutor.java:740)
at nc.ui.gl.glreporttools.OriginalSrvCallNCGL.callFunc1(OriginalSrvCallNCGL.java:391)
at nc.ui.gl.glreporttools.OriginalSrvCallNCGL.callFunc(OriginalSrvCallNCGL.java:760)
at nc.ui.fi.uforeport.NCFuncForUFO.calcFuncValues(NCFuncForUFO.java:88)
at nc.impl.ntb.UFOExecutorImpl.getBatchUFOResults(UFOExecutorImpl.java:218)
at nc.itf.tb.NtbPublic.EJBEjbBean.getBatchUFOResults(EJBEjbBean.java:893)
at nc.itf.tb.NtbPublic.EJB_Local.getBatchUFOResults(EJB_Local.java:3322)
... 15 more
nc.bs.framework.exception.FrameworkEJBException: Fatal unknown error
at nc.itf.tb.NtbPublic.EJB_Local.getBatchUFOResults(EJB_Local.java:3389)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at nc.bs.framework.ejb.AbstractEJBServiceHandler.invoke(AbstractEJBServiceHandler.java:56)
at nc.bs.framework.ejb.AbstractEJBServiceHandler.invoke(AbstractEJBServiceHandler.java:34)
at $Proxy23.getBatchUFOResults(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at nc.bs.framework.comn.serv.ServiceDispatcher.invokeBeanMethod(ServiceDispatcher.java:351)
at nc.bs.framework.comn.serv.ServiceDispatcher.execCall(ServiceDispatcher.java:160)
at nc.bs.framework.comn.serv.CommonServletDispatcher.doGet(CommonServletDispatcher.java:75)
at nc.bs.framework.comn.serv.CommonServletDispatcher.doPost(CommonServletDispatcher.java:95)
Caused by: java.lang.ExceptionInInitializerError
at nc.vo.gl.glreporttools.PrepareParameterForReport.prepareParasForReport(PrepareParameterForReport.java:248)
at nc.vo.gl.glreporttools.GroupFunctionTool.getFctGrpsOnAssType(GroupFunctionTool.java:512)
at nc.ui.gl.glreport.FunctionExecutor.exFctBtch1(FunctionExecutor.java:740)
at nc.ui.gl.glreporttools.OriginalSrvCallNCGL.callFunc1(OriginalSrvCallNCGL.java:391)
at nc.ui.gl.glreporttools.OriginalSrvCallNCGL.callFunc(OriginalSrvCallNCGL.java:760)
at nc.ui.fi.uforeport.NCFuncForUFO.calcFuncValues(NCFuncForUFO.java:88)
at nc.impl.ntb.UFOExecutorImpl.getBatchUFOResults(UFOExecutorImpl.java:218)
at nc.itf.tb.NtbPublic.EJBEjbBean.getBatchUFOResults(EJBEjbBean.java:907)
at nc.itf.tb.NtbPublic.EJB_Local.getBatchUFOResults(EJB_Local.java:3383)
... 15 more
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1768)
at nc.vo.gl.sysparam.SystemParamConfig.initCache(SystemParamConfig.java:46)
at nc.vo.gl.sysparam.SystemParamConfig.getConfig(SystemParamConfig.java:63)
at nc.vo.gl.sysparam.SystemParamConfig.getAccsubjDatacacheServerNumber(SystemParamConfig.java:104)
at nc.vo.gl.glreportcache.AccsubjDataCache.<clinit>(AccsubjDataCache.java:31)
... 24 more[b]发现问题根本的原因是Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1这个报错导致的![/b]