草庐IT

Streaming模式

全部标签

java - 设计模式如何在使用 List 时避免 instanceOf

假设您有一个包含菜肴的菜单,每道菜都应该以多种语言提供(法语、英语、阿拉伯语……)。Dish类包含一个列表Language类型对象。classDish{ListlanguagesvoidaddLanguage(Languagelg){...}}classLanguage{getDescription(){}}classFrenchextendsLanguage{}classMenu{Listdishes}如何避免使用instanceof什么时候需要对那道菜的特定语言的描述?我是否应该在dish类中为每种语言定义一个get方法:getFrench()、getArabic(),..?或者我

java - 避免 "cannot retry due to server authentication, in streaming mode"错误,不涉及任何 CXF

我已经在很多地方搜索过处理过这个HttpRetryException问题的其他人,但我发现的所有人都遇到过一些名为CXF的apache服务,我没有使用它。我使用的是java.net.HttpURLConnection。我创建一个连接,将setRequestProperty用于“授权”,获取输出流,写入一堆字节,然后尝试读取回复输入流。大多数时候这都有效,但有时我会遇到上述异常。我无法避免流式传输,因为有时我需要写入比内存中所能存储的更大的文件,而且无论如何,我发现的大多数搜索结果都表明这不是真正的问题。他们通常按照bindingProvider.getRequestContext().

java - 生成器模式 : which variant is preferred?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我正在阅读EffectiveJava这本书,并为我将来的引用创建笔记,我遇到了Builder模式。好吧,我了解它是什么以及它应该如何使用。在这个过程中,我创建了构建器模式的两个示例变体。我需要帮助来列出差异和各自的优势吗?好吧,我当然注意到,Example1公开了更少的方法,因此限制更少,更通用,因此可以更灵活地使用它。请指出我遗漏的其他事项?示例1pac

java - 适用的设计模式

我已经有了这个工作层次结构,程序按预期运行。基本上我已经抽象了一个基类中的所有内容,所有其他子类都添加了它们自己的方法。abstractClassBase{}classAextendsBase{//newmethods}classBextendsBase{//newmethods}一切看起来都不错,直到后来(错误......新要求)我意识到我需要一个新类(我们称这个类C)来扩展两者A类和B类。现在,在Java中不可能扩展两个具体类。classCextendsA,B{//newmethods}我需要A类和B类中的方法和变量,但我不知道该怎么做?关于如何进行此更改的任何提示?我不太擅长设计

java - 使用 ActiveMQ、Camel 和 Spring 实现请求-回复模式

我正在尝试实现以下功能:逐行读取CSV文件,然后读取每一行:根据该行包含的值构建请求将请求发送到消息队列其他组件需要获取消息、处理请求并将响应发送到另一个消息队列(生产者已知,因此生产者可以获取响应)。我相信request-replypattern符合要求。我安装了ActiveMQ,下载了camel并尝试使用他们的jms项目。在配置组件、队列和测试连接(有效)之后,我试图弄清楚如何实际实现请求-回复?我没有找到任何好的examples我有一个路由生成器RouteBuilderpublicclassMyRouteBuilderextendsRouteBuilder{publicstati

java - 模式匹配器与字符串拆分器,我应该使用哪个?

第一次发帖。首先,我知道如何同时使用模式匹配器和字符串拆分器。我的问题是哪个最适合我在示例中使用,为什么?或更好的替代方案的建议。任务:我需要在未知字符串中的两个已知正则表达式之间提取未知名词。我的解决方案:获取名词的开始和结束(来自正则表达式1和2)和用于提取名词的子字符串。Stringline="unknownXoooXNOUNXccccccXunknown";intgoal=12;Stringregexp1="Xo+X";Stringregexp2="Xc+X";我需要在第一个正则表达式之后找到索引位置。我需要在第二个正则表达式之前找到索引位置。A)我可以使用模式匹配器Patte

java - 带有 jackson JsonProperty 的 Lombok 构建器模式

我使用带有构建器模式的lombok构建了一个Java对象。但是,在尝试使用Jackson反序列化Java对象时出现以下异常。对于具有@JsonProperty注释的字段,会发生这种情况。Exceptioninthread"main"com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:Unrecognizedfield"user_name"(classUser$UserBuilder),notmarkedasignorable(2knownproperties:"userName","userId"])at[S

java - 使用 Java 从具有访问者模式的 AST 构建控制流图

我正在尝试弄清楚如何实现我的LEParserCfgVisitor类,以便从已经使用JavaCC生成的抽象语法树构建控制流图。我知道有些工具已经存在,但我正在努力为我的编译器期末考试做准备。我知道我需要一个数据结构来将图形保存在内存中,并且我希望能够在每个节点中保存IN、OUT、GEN、KILL等属性,以便能够进行控制流分析稍后。我的主要问题是我还没有弄清楚如何将不同的block连接在一起,如何根据它们的性质在每个block之间设置正确的边缘:分支、循环等。换句话说,我还没有找到了可以帮助我构建访问者的显式算法。这是我的空访客。您可以看到它适用于基本语言表达式,例如if、while和基本

java - 使用 Spring WS 发布静态 WSDL 和相关的 XSD 模式

我有一个模块,其中有我的XSD架构,其中一个架构可以使用架构位置内的相对路径引用另一个架构:在这里,我还使用xjc从这些xsd模式生成Jaxbbean。现在我有一个模块,其中使用spring-ws(2.0.4)实现了我的Web服务。我想使用staticWSDL并使用xsd架构发布它,其中架构位置将转换为URL,如“http://myerver.url.com/my.xsd”。问题是如何优雅地实现这一点?(或者将XSD组合成一个模式,然后将其组合到WSDL)(理论上我可以使用脚本转换这些XSD,并将它们添加到资源(xsd和wsdl)到(springdispatcher)servlet,但

java - 模式/匹配器 Java,非零组计数但错误检索?

我的matcher.groupCount()给了我4,但是当我使用matcher.group(0)时,...,matcher.group(0),它给我一个错误。以下是我的代码:Patternpattern=Pattern.compile("([0-9]+).([0-9]+).([0-9]+).([0-9]+)");Matchermatcher1,matcher2;GeoIP[0][0]=(GeoIP[0][0]).trim();GeoIP[0][1]=(GeoIP[0][1]).trim();System.out.println(GeoIP[0][0]);System.out.prin