草庐IT

interruptable_call

全部标签

Java 性能与代码风格 : Making multiple method calls from the same line of code

我很好奇在同一行代码中打包多个和/或嵌套方法调用是否会提高性能,这就是为什么一些开发人员这样做的原因,但代价是降低了代码的可读性。例如//likeSetjobParamKeySet=jobParams.keySet();IteratorjobParamItrtr=jobParamKeySet.iterator();也可以写成//dislikeIteratorjobParamItrtr=jobParams.keySet().iterator();就我个人而言,我讨厌后者,因为它在同一行中进行多次计算,而且我很难阅读代码。这就是为什么我试图尽一切办法避免对每行代码进行多次评估。我也不知道j

java - Jersey 2.0 通过代理获取 Post Call

我正在使用Jersey2.4.1进行休息,并希望通过HTTP和HTTPS代理进行GET或Post调用。我做不到。我在互联网上搜索并找到了很多链接,但其中大部分现在已经过时了。一些帮助将非常有用,因为从Jersey1.X到2.X有很多变化这是我进行GET调用的代码(工作正常)。我想修改它以通过HTTP和HTTPS代理进行此调用。任何指示都会有所帮助。javax.ws.rs.core.Responseresponse=null;Clientclient=ClientBuilder.newClient();WebTargettarget=client.target(url);//urliss

java - 甲骨文一致性 : How to set the timeout on an invoke call in a replicated cache?

我有一个复制的缓存运行在许多也运行OSB的weblogic节点上。缓存以服务器作为启动类启动。它有一个非常简单的对象缓存,可以通过boolean属性“可用”简单地跟踪它们是否正在使用。我从OSB向同一个类发出java标注,它使用将对象标记为不可用的处理器在缓存上调用“调用”,然后运行​​Thread.sleep(31000)。这是我稍后要添加的一些冗长处理的占位符。我想要发生的是,如果invoke()调用花费的时间太长,进程应该超时并返回或抛出异常。所以我一直在尝试配置30000毫秒的请求超时来测试这个。不幸的是,我不知道如何让这个超时发生。我试过:将处理器包装在PriorityPro

java - 设计模式 : avoid switch to decide which service call

对于一个项目,我们有一个Controller/Service/DAO架构。我们实现了对不同提供商API的调用,因此我们在每个Controller类中都得到了一些样板代码,如下所示:enum{PARTNER_A,PARTNER_B,PARTNER_C}publicclassMyController{@ResourcePartnerASearchServicepartnerASearchService;@ResourcePartnerBSearchServicepartnerBSearchService;@ResourcePartnerCSearchServicepartnerCSearc

java - Selenium 2 : Interrupt a page load

我在使用带有FirefoxDriver的Selenium2.0b3JavaAPI单击按钮时遇到问题。单击该按钮会向网络服务器发送一个表单,然后浏览器将作为表单提交的结果转到一个新页面。当用element.click()点击一个元素时,selenium正在等待浏览器完成它的操作。浏览器等待页面加载完成。但是,有时由于某些广告请求,页面加载会花费大量时间。如何解决element.click()之间的同步问题和页面加载?编辑:如WebElementjavadoc中所述:Clickthiselement.Ifthiscausesanewpagetoload,thismethodwillbloc

java - Google App Engine Blobstore 和 ReSTLet - "Must be called from a blob upload callback request"

错误Causedby:java.lang.IllegalStateException:Mustbecalledfromablobuploadcallbackrequest.atcom.google.appengine.api.blobstore.BlobstoreServiceImpl.getUploads(BlobstoreServiceImpl.java:169)代码publicclassUserUploadProfilePictureResourceextendsServerResource{@PostpublicvoidhandleBlobstoreUpload(Represe

java - AWS Java SDK : AbortedException on call to AmazonSQSClient. 接收消息

我们正在尝试从EC2实例上运行的Java程序读取AmazonSQS队列。有时,我们会收到com.amazonaws.AbortedException。我们的代码如下所示:AmazonSQSClientsqs=newAmazonSQSClient(myCredentials);ReceiveMessageRequestrequest=newReceiveMessageRequest().withWaitTimeSeconds(20).withMaxNumberOfMessages(1).withQueueUrl(queueUrl);ReceiveMessageResultresult=s

java - 如何解决 Hibernate 异常 "IllegalArgumentException occurred while calling setter"的原因?

当我的程序尝试按名称从数据库中加载用户时,Hibernate抛出的偶尔异常IllegalArgumentExceptionoccurredwhilecallingsetter如何解决?我是否错误地将表User中的列USER_RV映射到类Integer而不是BigDecimal或其他一些整数类型?请注意,同一应用程序将其他表中的NUMBER列映射到Integer对象,但Hibernate在用行填充对象时不会抛出此异常来自那些表。另外请注意,该程序为仅用户缓存启用RMI缓存复制。此异常可能与缓存复制有关吗?是Ehcache还是Hibernate的bug?Causedby:org.sprin

java - 在 Callable 中处理 Thread.interrupted() 的正确方法?

在Callable中处理Thread.interrupted()的正确方法是什么?我猜可调用对象应该抛出一个InterruptedException;例如:publicclassMyCallableimplementsCallable{publicObjectcall(){Objectresult=null;//Simulatelong-runningoperationthatcalculatesresultwhile(true){...if(Thread.interrupted()){thrownewInterruptedException();}}result=...//somet

java - Java : what's the point? 中的 Thread.interrupt()

这个问题在这里已经有了答案:JavalongrunningtaskThreadinterruptvscancelflag(5个答案)关闭9年前。我完全理解它的作用(至少我希望如此)。它并没有真正中断线程。它使Thread.isInterrupted()为真,代码应该检查是什么方法并停止线程本身。我的问题是,为什么我们甚至需要这种方法?它似乎完全可以通过声明一个boolean标志来说明是否应该停止这个线程来替换?没有任何Java教科书使用这个boolean标志作为应如何使用volatile关键字的最佳示例吗?我特别困惑,因为似乎没有办法“不中断”线程,因为Thread.resume()已