问题标签 [consumer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
382 浏览

c# - 是否可以为正在运行的程序创建 OLE DB 提供程序

目前我正在研究一种替换旧报告生成器的方法。

因为我工作的公司是微软的合作伙伴,他们希望使用 Report Builder 3.0。

问题是我们希望它连接到我们自己的业务对象,而不是直接连接到我们的数据库。由于应用了过滤器、排序、编辑等。

我认为可以编写我们自己的 OLE DB 适配器,这样我们就可以使用报表生成器连接到我们的业务对象。我在 MSDN 上阅读了“OLE DB 简介”,上面写着

“重要的是要区分提供者的数据源对象,该对象将数据从数据存储提供给消费者,数据存储本身包含数据但仅通过数据源对象与消费者交互。例如,数据store 可能是逗号分隔值 (CSV) 文本文件、SQL DBMS 或应用程序中的内存数组。”

我认为这意味着可以连接到我只需要弄清楚如何连接的应用程序。谁能证实这一点并可能提供样品?(最好是 C#,但 C++ 也可以)


第二个问题

OLE DB 存在于提供者和消费者之外。看到我想使用报告生成器,我认为我不必编写自己的消费者,因为报告生成器会创建与提供者的连接。如果我错了,请纠正我。

0 投票
0 回答
806 浏览

apache-flex - 客户端在端点“my-polling-amf”上没有活动订阅

这是我的频道配置:

我有以下场景,两个用户使用相同的浏览器但不同的实例从同一台机器登录到应用程序;如果其中一个用户注销并最终断开通道,则第二个用户将在故障处理程序中收到此消息“客户端在端点'my-polling-amf'上没有活动订阅”消息,然后断开连接并重新连接。但是,如果两个用户都使用不同类型的浏览器,例如 user1 使用 firefox 和 user2 使用 IE,它会正常工作,没有什么奇怪的出现。谢谢。

例外是:

0 投票
1 回答
6800 浏览

apache-flex - 检测到重复的基于 HTTP 的 FlexSession,通常是由于远程主机禁用会话 cookie

场景描述: 我的程序是flex+java+blazeDS+activeMQ实现的,它通过Flex Consumer从activeMQ订阅jms消息,目前我在同一个服务器上交付了两个tomcat,它们都包含我的程序,而ActiveMQ在另一个服务器,现在我在同一种浏览器中打开这两个应用程序,例如 IE 或 Chrome,无论如何,url 就像http://localhost: 8080 /HelloWord/index.html , http://localhost: 8181 / HelloWord/index.html

问题: 第一个应用程序 url 是http://localhost: 8080 /HelloWord/index.html,我在 ie 中打开它,它可以很好地订阅消息,但是当我打开第二个 url 是http://的应用程序时localhost: 8181 /HelloWord/index.html即发生意外,两个应用程序无法订阅消息。

错误日志: 1.flex 客户端日志(flash.log): 检测到重复的基于 HTTP 的 FlexSession,通常是由于远程主机禁用会话 cookie。必须启用会话 cookie 才能正确管理客户端连接 2.java 控制台日志: flex.messaging.client.FlexClientNotSubscribedException:客户端在端点“my-polling-amf”上没有活动订阅。 在 flex.messaging.client.FlexClient.throwNotSubscribedException(FlexClient.java:1789) 在 flex.messaging.client.FlexClient.pollWithWait(FlexClient.java:967) 在 flex.messaging.endpoints.BasePollingHTTPEndpoint.handleFlexClientPoll(BasePollingHTTPEndpoint.java:538 ) 在 flex.messaging.endpoints.AbstractEndpoint.handleFlexClientPollCommand(AbstractEndpoint.java:1151) 在 flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:965) 在 flex.messaging.endpoints.AbstractEndpoint$$FastClassByCGLIB$$1a3ef066。在 org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692) 在 org.springframework.aop 的 net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191) 的 invoke()。框架.ReflectiveMethodInvocation。org.springframework.flex.core.MessageInterceptionAdvice.invoke(MessageInterceptionAdvice.java:66) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 在 org.springframework .aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:124) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 在 org.springframework.aop.framework.Cglib2AopProxy$FixedChainStaticTargetInterceptor.intercept (Cglib2AopProxy.java:576) 在 flex.messaging.endpoints.AMFEndpoint$$EnhancerByCGLIB$$3ae4b8ad.serviceMessage() 在 flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103) 在 flex.messaging.endpoints .amf.LegacyFilter.invoke(LegacyFilter.java:158) 在 flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44) 在 flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)在 flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:166) 在 flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291) 在 flex.messaging.endpoints.AMFEndpoint$$EnhancerByCGLIB$$$3ae4b8ad .service() at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:108) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771) at org.springframework.web.servlet .DispatcherServlet.doService(DispatcherServlet.java:716) 在 org.springframework.web.servlet。FrameworkServlet.processRequest(FrameworkServlet.java:647) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet .http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210 ) 在 org.apache.catalina.authenticator.AuthenticatorBase 的 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) 的 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)。在 org.apache.catalina.core.StandardHostValve 调用(AuthenticatorBase.java:462)。调用(StandardHostValve.java:164)在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)在 org.apache .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java :286) 在 org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:272) 在 org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1730) 在 java。 util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker。运行(ThreadPoolExecutor.java:908)

我所做的测试: 1.FlexClient.getInstance().id = UIDUtil.createUID(); 无效 2.FlexClient.getInstance().id = null; 无效 3.使用不同的浏览器,一个用ie,一个用chrome,打开两个应用,都可以;4.一个服务器一个tomcat,用同类型的浏览器ie打开就可以了;5.使用flex MXML中的customer AMFChannel或flex-config.xml中默认的AMFChannel定义,无效;

网友进阶: 1.http://blogs.adobe.com/lin/2011/05/duplication-session-error.html 2.http://stackoverflow.com/questions/7659775/duplicate-session-error-when -perform-proxy-lookup 这两项无效;

以前有人遇到过这种情况吗?任何建议我都会感激。

0 投票
1 回答
906 浏览

c# - C# .Net 2.0 线程池等效于 .Net 4.5 TPL 生产者消费者逻辑

在我的应用程序中,我有一组要执行的操作。我想指定特定数量的线程来执行操作。由于某些操作可能比其他操作花费更长的时间并且可能正在等待响应,因此当线程完成时,我希望它返回队列并开始下一个操作。因此,当十个线程之一释放时,它会执行一个新操作,依此类推,直到队列为空,然后继续。在继续之前,我需要等待所有操作完成。

因此,我使用 TPL 进行了一些研究和测试,在记住“哦,废话,我在此应用程序中仅限于 .Net 2.0”之前效果很好。我试图仅使用 .Net 2.0 进行重建,但没有运气。我几乎没有使用线程的经验。

谁能帮我把这个逻辑转换成.Net 2.0?

0 投票
5 回答
21146 浏览

asp.net-web-api - 如何从 WEB API 检索消息?

我创建了一些 web api,当发生错误时,api 返回使用 CreateErrorResponse 消息创建的 HttpResponseMessage。像这样的东西:

我的问题是我无法弄清楚如何在消费者应用程序中检索消息(在本例中为“未能找到客户。 ”)。

这是消费者的示例:

任何帮助是极大的赞赏。

0 投票
1 回答
632 浏览

akka - akka骆驼消费者中的autoAck是什么意思?

akka camel 消费者中的 autoAck 返回布尔值 true 或 false。

如果autoAck = true,那么当消息进入消费者邮箱但在消费者处理消息之前,消费者怎么做?

0 投票
1 回答
152 浏览

message - akka camel 消费者在处理消息之前还是在处理消息之后使消息出列?

MyConsumer1 是骆驼消费者的一般形式。

问题:receive() 中的 msg 是在调用之前还是在 receive() 之后先出队?端点协议和 autoAck 如何影响出队行为?

0 投票
1 回答
374 浏览

akka - 普通的 Akka 演员和骆驼消费者演员有什么区别?

一个普通的 Akka actor 与一个邮箱和 dispather(线程池)相关联,可以通过配置或以编程方式设置。您可以通过路径查找常规演员。常规演员先从邮箱中出列消息,然后处理消息等

我可以对骆驼消费者演员做同样的事情吗?普通演员和骆驼消费者演员有什么区别?

0 投票
2 回答
357 浏览

multithreading - 单文件阅读器/多消费者模型:多线程程序的好主意?

我有一个很容易并行化的简单任务。基本上,相同的操作必须在一个(大的,几个 Gb)输入文件的每一行上重复执行。虽然我已经制作了一个多线程版本,但我注意到我的 I/O 是瓶颈。我决定构建一个实用程序类,其中包含一个“文件读取器”线程,该线程简单地直接向前读取并尽可能快地读取到循环缓冲区中。然后,多个消费者可以调用这个类并获得他们的“下一行”。给定 n 个线程,每个线程 i 的起始行是文件中的第 i 行,并且通过添加 n 找到该线程的每个后续行。事实证明,这不需要锁,几个关键的原子操作足以保留不变量。

我已经测试了代码,它似乎更快,但再想一想,我不知道为什么。将大文件分成 n 个输入文件不是一样快吗(您可以提前“搜索”到同一个文件中以实现相同的目的,最少的预处理),然后让每个进程简单地调用 iostream::readLine on它自己的块?(因为 iostream 也会读入它自己的缓冲区)。在多个线程之间共享单个缓冲区似乎没有任何固有的优势,因为工作人员实际上并不是在同一行数据上操作。另外,我认为没有什么好的方法可以并行化,这样它们就可以在同一条线上工作。我只想了解我所看到的性能提升,并知道它是“flukey”还是跨平台可扩展/可重现......

0 投票
1 回答
201 浏览

multithreading - Akka 管理 Camel 消费者线程还是 Camel 上下文管理消费者线程?

骆驼文件提到 CamelContext 为其消费者管理线程。Akka 通过 Camel 扩展集成了 Camel。我们知道 Akka 有自己的线程池(dispatcher)。所以问题是:谁管理 Akka Camel 消费者/参与者线程?如果 CamelContext 管理线程,那么如何在 cfg 文件或代码中配置线程池?