使用netty-socketio服务器限制websockets

我们使用的是https://github.com/mrniko/netty-socketio 。 应用场景:服务器正在通过websocket以高速率将消息推送到客户端。 最近我们遇到了一个问题,即客户端无法处理来自socket.io服务器的所有事件消息。 websocket消息开始堆积,客户端变得没有响应。在Chrome开发人员工具中,我们可以看到客户端的内存逐渐增加。 使用wireshark分析tcpdump表明发生了大量重传,客户端无法应对。 我们计划在服务器端有一个限制机制。是否有任何事件/回调可用于检测慢速客户端,以便我们可以在服务器端为这个特定的websocket启动限制?

当两个不同的wicket应用程序共享通用function时,如何重用代码

我有一个Wicket AuthenticatedWebApplication,它有几个页面和function需要在我必须开发的新AuthenticatedWebApplication中重用。 我正在使用Wicket 1.4,Spring和Hibernate。 两个应用程序甚至将共享相同的外观(应用程序徽标除外),现在在基页中实现。 有没有人有类似的经历? 我绝对不想再复制粘贴代码,因为通用function实现了可以并且将会改变的工作流程。 我可以做些什么来保持我的应用程序模块化,并实现我的目标?

无法解析Jena IRIFactory的NoClassDefFoundError

下面是我得到的错误日志的堆栈跟踪。 如果有人可以告诉究竟是什么导致了这一点,因为根据堆栈跟踪,我已经完成了所有工作。 Exception in thread “main” java.lang.NoClassDefFoundError: com/hp/hpl/jena/iri/IRIFactory at net.rootdev.javardfa.uri.IRIResolver.(IRIResolver.java:26) at org.odftoolkit.odfdom.pkg.rdfa.SAXRDFaParser.createInstance(SAXRDFaParser.java:57) at org.odftoolkit.odfdom.pkg.OdfFileDom.initialize(OdfFileDom.java:217) at org.odftoolkit.odfdom.pkg.manifest.OdfManifestDom.initialize(OdfManifestDom.java:74) at org.odftoolkit.odfdom.pkg.OdfFileDom.(OdfFileDom.java:132) at org.odftoolkit.odfdom.pkg.manifest.OdfManifestDom.(OdfManifestDom.java:63) at org.odftoolkit.odfdom.pkg.OdfFileDom.newFileDom(OdfFileDom.java:189) at org.odftoolkit.odfdom.pkg.OdfPackage.parseManifest(OdfPackage.java:1219) at org.odftoolkit.odfdom.pkg.OdfPackage.readZip(OdfPackage.java:452) at org.odftoolkit.odfdom.pkg.OdfPackage.initializeZip(OdfPackage.java:422) at org.odftoolkit.odfdom.pkg.OdfPackage.(OdfPackage.java:250) at org.odftoolkit.odfdom.pkg.OdfPackage.loadPackage(OdfPackage.java:320) at org.odftoolkit.simple.Document.loadDocument(Document.java:328) at org.odftoolkit.simple.TextDocument.loadDocument(TextDocument.java:305) at com.poc.LetsGetStarted.main(LetsGetStarted.java:13) Caused by: java.lang.ClassNotFoundException: com.hp.hpl.jena.iri.IRIFactory at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at […]

从JTree中的文本文件动态填充树模型

我面临的问题是JTree的树模型。 我已将根节点定义为: javax.swing.tree.DefaultMutableTreeNode rootNode = new javax.swing.tree.DefaultMutableTreeNode(projectName); 当应用程序首次启动时,我希望创建并加载treeModel。 为此,我使用的是meta.txt文件,其中包含以下信息: 1QuotesPrice.Job 2QuotesPrice.Df 1Quotes.Job 2Quotes.Wf 3Quotes.Df 2Falkeblang.Wf 3Falkeblang.Df 第一列是级别,第二列是树的节点。 现在根据这些信息,我想创建树模型,但我在这里遇到了障碍。 我不确定应用于将上述节点添加到根节点的逻辑。 我尝试的每一件事似乎都有缺陷。 这里的问题是没有修复级别,所以我不能简单地使用if-else结构。 我使用以下代码: String treeMeta=this.projectsDir+”\\”+projectName+”\\”+”meta.txt”; DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(projectName); File f1=new File(treeMeta); inputStream = new Scanner(f1); while(inputStream.hasNext()){ String val=inputStream.next(); System.out.println(“!@#$%”+val+”!@#$%”); treeNodePrev=treeNode; prevLevel=level; level=val.substring(0,1); nodeVal=val.substring(1); if(level.equals(“1”)){ prevNode=projectName; treeNode = new DefaultMutableTreeNode(nodeVal); System.out.println(“added to root node”); rootNode.add(treeNode); […]

Jasper Print – Java堆空间存储器

我使用Jasper Reports生成报告。 但是我从数据库获得了大量数据。 在执行Jasper打印以填充报表数据时,它会占用大量内存并导致Java堆空间内存问题。 JasperPrint jasperPrint = JasperFillManager.fillReport( jasperReport, params, dataSource); 这条线需要花费很多时间并且会出错。 请帮帮我,如何摆脱这个问题。 Stackrace : java.lang.OutOfMemoryError: Java heap space at net.sf.jasperreports.engine.fill.JRFillTextField.fill(JRFillTextField.java:691) at net.sf.jasperreports.engine.fill.JRFillElementContainer.fillElements(JRFillElementContainer.java:570) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:390) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:351) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2039) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:771) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(JRVerticalFiller.java:301) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:148) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:88) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:969) at com.jci.eprt.web.controller.report.ReportController.previewEngineeringReport(ReportController.java:250) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown […]

NoClassDefFoundError:注释处理期间的org / junit / AfterClass

我在使用maven进行注释处理期间使用CodeModel生成代码。 该代码用于JUnit测试: JMethod tearDownClass = testClass.method( JMod.PUBLIC | JMod.STATIC, Void.class, “tearDownClass”); tearDownClass._throws(Exception.class); tearDownClass.annotate(AfterClass.class); <- java.lang.NoClassDefFoundError 然而,编译过程在尝试检索java.lang.NoClassDefFoundError : org/junit/AfterClass时抛出了java.lang.NoClassDefFoundError : org/junit/AfterClass AfterClass.class ,这是一个注释本身。 对JUnit的依赖定义如下: junit junit 4.8.2 所以我的代码中应该有AfterClass.class 。 我该如何解决这个问题? 不清楚 调用codemodel的代码位于编译库中,其中junit不是“测试”依赖项。 但是,调用生成代码的代码具有相同的junit依赖性,但作为测试依赖性。 如果我将后一个依赖项更改为“not-a-test”依赖项,则问题就会消失。 为什么我必须将此依赖项定义为“not-a-test”,尽管只有调用codemodel的库明确使用它? 编辑 这是依赖树: net.dwst:codegentest:jar:1.0.0 +- junit:junit:jar:4.8.2:compile +- org.sonatype.maven.plugin:emma-maven-plugin:jar:1.2:test | +- emma:emma:jar:2.0.5312:test | \- org.apache.maven.reporting:maven-reporting-impl:jar:2.0.4:test | +- commons-validator:commons-validator:jar:1.2.0:test | | +- commons-beanutils:commons-beanutils:jar:1.7.0:test | […]

读取两个具有相同名称Java的XML标记

我有一个用Java读取的XML文件,如下所示: Kun-Jing Lee John Smith 一开始一切都很好,然后就会出现这样的事情 Z. C. Huang J. C. Chen 如您所见, 标记在同一个块中被提及两次,因此,当我从调用该值时,它仅显示第一个。 这是读取XML文件的Java代码: package com.mkyong.seo; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.w3c.dom.Node; import org.w3c.dom.Element; import java.io.File; public class ReadXMLFile { public static void main(String argv[]) { try { File fXmlFile = new File(“/fileaddress/test-1.xml”); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = […]

尽管“保持名字”,proguard并没有停止混淆方法名称

我有以下设置来保持类和类方法名称。 它适用于类,因此com.seleniumtests.**包和子包中的com.seleniumtests.**不会被混淆。 但是,尽管我选择了Keep names – .class method names复选框,但com.seleniumtests.**类中的方法仍然是模糊的。 我错过了任何配置吗?

在语音呼叫期间,从麦克风录制的音频被静音

我正在尝试构建从麦克风录制音频的应用程序,以便以后处理。 一切都运行得很好,除了以下问题:在语音呼叫(进出)期间,录制的文件没有音频数据,它只包含NULL。 我使用的是AudioRecorder和MediaRecorder,两者都有同样的问题。 问题是,这是正常的API行为还是我遗漏了什么? 这里有一些额外的信息:Permissions: SDK:minSdkVersion =“9”targetSdkVersion =“15” 我正在使用Jelly Bean在Nexus S上测试我的应用程序。 提前致谢! PS如果有人需要更具体的细节,请告诉我。 编辑 好的,所有答案都表明这是一种正常的行为,但我仍然感到困惑,因为我可以找到许多使用麦克风录制语音通话的应用程序。 录制语音通话不是我的意图,但我认为即使在语音通话期间我也可以使用麦克风。 有什么建议么? 编辑 我刚刚测试了Galaxy S Gingerbread上的应用程序,它确实有效! 现在我真的很困惑,开始明白“分割”这个词是什么意思……

将“R.id.myID”从String转换为int值R.id.myID?

我的观点上的文字代表一个id。 因此,当点击时,我想获得对该资源的引用。 以下错误代码代表我正在尝试做的事情 public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.categories); Bundle bundle = getIntent().getExtras(); int myArrayID = bundle.getInt(“category_id”, 0); String [] myArray = getResources().getStringArray(myArrayID); setListAdapter(new CategoryAdapter(this, android.R.layout.simple_list_item_1, R.id.categoryText, myArray)); ListView lv = getListView(); lv.setTextFilterEnabled(true); lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View view, int position, long id) { String myIdString = (String) ((TextView) view.findViewById(R.id.categoryText)).getText(); int myIdInt […]