1 guaizang

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 25w+

Java 实时读取文件

package nc.fei.util;import java.awt.BorderLayout;import java.awt.Cursor;import java.awt.Dimension;import java.awt.Insets;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import jav

2020-06-21 15:40:33

NC6 uap项目引入行业代码和jar包

假设现在hytest模块下有lib包和二开的class代码,一般我们新建uap项目是不会将hyext下的class文件引入工程的,但我们可以尝试手动引入添加外部类文件夹,将class文件夹和lib下的jar包添加进来这就和我们模块里client,public,private一样了如果要进行二开,就添加对应的源文件夹就行了抽补丁时,把路径手动改下就行了...

2020-06-11 13:34:55

NC6 使用NIO实现消息推送

1.需求背景在nc人力资源模块有些业务计算非常耗时,比如薪资,排班,假期等等,在服务器使用Nginx等反向代理的情况下,不会进行长时间的等待,而且长时间等待也是非常不好的体验。所以将计算做成异步任务就应运而生,即服务器收到请求后,另起线程执行任务,请求线程直接响应回去。如此不会影响客户端进行其他操作,但是任务在后台运行,前端需要可以查询相关任务的进度。那么进度信息可以通过两种方式进行反馈,一是客户端进行轮询,二是服务端实时推送,第一种方式比较简单不做赘述,这里讲第二种方式的实现。2.实现依赖NIO,N

2020-06-10 22:17:34

NC6 关于凭证接口的坑

昨天开始,帮一个老客户处理一个通过接口保存的凭证,凭证号重复的问题。追了很深的代码,从ws实体转换,到凭证号生成和断号处理。有两个问题一定要处理完善,不然接口有问题。1.生成凭证号。如果凭证号字段为空,调用系统凭证保存组件时,系统会使用独立事务,自动生成凭证号,逻辑就是根据账簿,类型,期间在库里存有当前最大号,然后+1。为了防止并发时查询值的时候重复,系统做法是,在同一个事务中,先执行一句update进行锁表,然后查询,补号,设值,跟新最大值,事务提交后,解锁。期间如果有线程访问,由于表被锁,在执行upd

2020-05-24 05:55:24

NC6 锁

最近由于用户使用反向代理,而代理服务器的读取超时只有1分钟,所以在NC上执行较长时间的业务需要改成异步任务,并且提供异步任务监控,由此避免客户端发送IO异常和提升用户体验,这其中涉及到并发情况下的锁的问题,事务的问题,调用信息的问题和token信息的问题,这里我讲讲我阅读NC6锁的相关代码的几点笔记原理:所有锁信息存在单例对象成员位置的一个同步容器里,加锁即put,如果锁存在加锁时返回false,解锁即remove,具体实现可以看LockService4DataSource这个类普通锁: 需要

2020-05-22 12:27:48

NC 测试代码执行效率小工具

package fei.time.test;import java.io.PrintStream;import nc.bs.logging.NCSysOutWrapper;public class TimeFei { private static Long lastTime; public static void fei(Long currTime,boolean isnull){ if (isnull) { lastTime = null; } if(lastTime !

2020-05-08 21:27:17

NC 关于二开提升用户体验的几点经验

迄今为止,我认为NC系列的产品是一款非常优秀的产品,不论从业务逻辑和技术框架上来说都是非常专业的。NC本身对二开的限制放的很开,是为了方便因地制宜,提升用户体验,但往往由于二开的时候不够规范,用户体验极差,反而用户抱怨极大,最后甚至放弃使用,直接换产品了。一. 前端友好性1.加载界面。弹出加载动画的时候,一定要指定好父容器,否则会将整个界面覆盖,无法进行其他节点的操作,只能等着一个节点,计算加...

2020-04-19 16:40:09

关于Java并发问题的两点理解

1.对同一个对象(单例,静态方法访问的都是同一个对象)的成员变量,多线程操作,会有并发问题2.对同一个对象的局部变量,方法参数,多线程操作,不会有并发问题所以在方法内部不用担心并发,而在调用静态方法和单例对象的时候要小心并发。欢迎讨论,指正!...

2020-04-19 06:00:21

NC 获取语义模型里的sql

package junit;import java.util.List;import nc.bs.framework.common.InvocationInfoProxy;import nc.bs.framework.common.NCLocator;import nc.bs.framework.core.service.IFwLogin;import nc.bs.framework...

2020-04-17 01:18:52

NC upm文件的问题

有时候写个内部远程调用的接口,总是部署不成功,原因就是upm文件有问题,很多人喜欢复制upm文件,导致上面定义了很多没有必要的属性,其实写upm文件的时候,在定义属性的时候,只要设置remote为ture,可以远程调用就行了...

2020-04-14 21:14:52

NC servlet(http接口)开发

访问地址:ip+port/service/组件名1.实现IHttpServletAdaptor接口2.发布为组件(upm),设置组件名,将accessProtected=“false”,如果为ture,将会进行token验证

2020-04-14 20:58:39

NC6 JUnit测试

1.节省客户端启动时间2.节省做数据的时间直捣黄龙,简单粗暴直接继承AbstractTestCase写测试类,不需要注解,右键选择JUnit启动即可package fei.test.test;import nc.bs.framework.common.InvocationInfoProxy;import nc.bs.framework.common.NCLocator;import...

2020-04-10 15:52:49

NC6 对组件进行AOP编程

1.用声明一个切面类,注解用法没有什么特殊的,注意,advice一定要指定匹配类型(patternType=PatternType.method)package nc.bs.uap.aop;import java.lang.reflect.Method;import nc.bs.framework.aop.After;import nc.bs.framework.aop.Around;...

2020-04-09 18:42:57

NC6 弹窗显示网页

今天无聊,打开uap论坛,看到一个帖子在问,怎么在Dialog里显示网页。看了里面的答案说是用JWebBrowser(需要引入第三方jar包),然后试了试,应该由于jar包没有找对,怎么都没成功。后来就自己想,怎么实现,想到Eclipse里不正好有内置浏览器吗?于是去插件文件夹里搜下“browser”关键字,还真搜出来一个jar包,打开里面的类,有看到关联到了org.eclipse.swt.win...

2020-04-06 19:47:41

NC sql信息打印控制台

首先追下代码,知道NC的日志是由Log4jLoggerPlugin执行,写一个子类继承重写log方法,然后将自己写的子类,配置在System.property里,在启动时所有日志就会使用你自己的类了,然偶挑出专门打印sql的日志进行控制台输出就行了。(当然,直接去查日志也是可以的,只是为了开发方便)...

2020-04-03 22:12:08

NC ws接口防XXE注入

有风险的地方有两个1.接口返回xml的格式化操作,SoapFormatAction,但是一般都打了补丁做了处理实际上还可以在org.apache.xalan.transformer.TransformerIdentityImpl里解析之前加上下面代码也可以防止注入2.调用接口时,一般来说如果服务是由home里startup.bat/startup.sh来启动的话是不会有风险的,但如果服务是由...

2020-04-03 20:13:19

NC 在后台使用System.out打印

1.NC不能使用的原因,在启服务的时候,是将System.out替换成了自己写的PrintStream(NCSysOutWrapper),会将打印信息打印到sysout这个日志里2.通过NCSysOutWrapper这个包装类得知,一下几种方式可以恢复打印功能1>将System.out强转为NCSysOutWrapper,直接打印NCSysOutWrapper nc = (NCSysO...

2020-04-03 20:08:02

Beyond Compare 4 密钥被吊销

C:\Users\用户名\AppData\Roaming\Scooter Software\Beyond Compare 4下的BCState.xml删除即可

2020-03-27 13:34:50

NC 一次更新1000条以上数据

InSQLCreator isc = new InSQLCreator();String inSQL = isc.getInSQL(pks);这个类可以生成in语句,数据操作可以达到1000条以上,但是使用时注意只能在后台使用,由于在开发环境不会报错,所以要注意...

2020-02-27 11:44:55

NC6 业务参数操作

一、新增业务参数应用管理平台—开发配置工具—参数模板设置二、获取业务参数nc.pubitf.para.SysInitQuery

2020-02-09 16:14:42

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取