将应用程序生成的apprequest发布给Java中的其他facebook用户

好吧,我想要做的似乎是facebook应用程序体验的一个非常核心的部分,但我找不到任何体面的例子。 我只想生成一个’apprequest’,当朋友使用该应用程序时,当有兴趣发生时,通知其他用户。 我正在使用Java和RestFB,并尝试过以下代码: FacebookType publishMessageResponse = fbClient.publish(“me/apprequests”, FacebookType.class, Parameter.with(“message”, “RestFB test”)); 并尝试用用户ID替换“我”,这会导致OAuthException:(#100)参数无效:未知错误。 facebook文档描述了这个PHP示例: $user_id = THE_CURRENT_USER_ID; $apprequest_url =”https://graph.facebook.com/” . $user_id . “/apprequests?message=’INSERT_UT8_STRING_MSG'” . “&data=’INSERT_STRING_DATA’&” . $app_access_token . “&method=post”; $result = file_get_contents($apprequest_url); 但就像我所看到的其他一切一样,这不仅仅是向当前用户发送信息,即我自己吗? 那是什么意思? 如果有人用Java做到这一点,我很乐意听取你的意见:)

使用java运行ghostdriver会出错

我正在使用远程ubuntu机器来运行我的测试用例。 我有jenkins配置github。 我可以使用我的windows7机器使用putty.exe访问这台机器。 我想使用phantomjs运行无头测试用例(调度作业),即当我的Windows机器关闭时,测试将在远程ubuntu机器上运行,该机器始终打开。 现在的问题是,当我现在构建它会给出错误: Caused by org.openqa.selenium.HasInputDevices … … 我的setup()方法和pom看起来像: 建立() DesiredCapabilities caps = new DesiredCapabilities(); caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,”/usr/bin/phantomjs”); driver = new PhantomJSDriver(caps); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.get(Production); 的pom.xml com.github.detro.ghostdriver phantomjsdriver 1.0.3 编辑:已通过添加selenium 2.34.0 jar依赖项解决了HasInputDevices的问题 但是在运行上面测试时仍然会出错: org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. Build info: […]

可以用json中的json值填充当前对象吗?

我想在对象构造函数中用Json中的值填充对象字段。 public AbstractObject(String jsonSerializedObject) { Gson gson = new Gson(); // Fill object values from json in *current* object } 这可能吗?

排队多个下载,寻找生产者消费者API

我有一个应用程序(一个servlet,但这不是很重要),它下载一组文件并解析它们以提取信息。 到目前为止,我在循环中完成了这些操作: – 在Internet上获取新文件 – 分析它。 multithreading下载管理器似乎是解决此问题的更好解决方案,我希望以尽可能最快的方式实现它。 某些下载依赖于其他下载(因此,此集合已部分订购)。 multithreading编程很难,如果我能找到一个API来做到这一点我会很高兴。 我需要将一组文件(已排序)放入队列中,并获取完全下载的第一组文件。 你知道我可以用来实现的任何库吗? 此致,Stéphane

Java,如何从另一帧中刷新一帧中的JTable

所以我有一个MainFrame类,里面有一个JTable,列出了存储在DB中的所有产品。 JButton在监听器的帮助下将打开AddProduct(另一个类,另一个窗口/框架),我可以在其中添加产品。 不幸的是,一旦AddProduct添加了新产品和autocloses,我不确定如何在MainFrame中更新/重新validationJTable。 有些人可以给我一些想法,我怎么能轻易解决这个问题? 由于程序相当大,以下是它的相关部分:来自MainFrame.java public JPanel tabProducts() { JPanel panel = new JPanel(new MigLayout(“”,”20 [grow, fill] 10 [grow, fill] 20″, “20 [] 10 [] 20”)); /** Labels **/ JLabel label = new JLabel(“List of all available products”); /** Buttons **/ JButton add = new JButton(“Add product”); add.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) […]

从Matlab内部调用JAX-WS Web服务

我有一个Vanguard webservice,我可以使用自定义java类调用(使用基本身份validation)。 java wsimport工具用于生成java代理存根,这一切都很完美。 java代码(下面的所有类都是由wsimport根据url +身份validation信息生成的): Authenticator.setDefault(new SimpleAuth(username,pass)); MyWSObject obj = new MyWSObject(url); -> triggers the exception ServicePortType port = obj.getServicePort(); OutputType result = port.MyWSMethod(params); OutputData data = result.getOutputData(); 当我从matlab运行完全相同的java函数(包含上面的代码)时,webservice调用失败并出现一个模糊的错误: ??? Java exception occurred: com.sun.xml.internal.ws.streaming.XMLStreamReaderException: XML reader error: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ‘”‘ (code 34) in DOCTYPE declaration; expected a space between public and system identifiers […]

Spring Transactional注释,隔离不适用于READ_UNCOMMITTED

我在Java中有一个方法,它由spring Transactional注释包装。 我里面有2个操作,一个是delete ,另一个是insert 。 我的插入语句必须依赖于第一个操作(即delete ),但是由于第一个操作尚未提交,我的插入失败(唯一约束)。 但有趣的是,通常在同一个事务中,我应该能够在同一个事务中读取/查看未经授权的操作(我的旧专有框架能够做到这一点),但这不适用于我的场景,第二个插入仍然失败,因为它看到数据尚未删除。 我尝试使用隔离READ_UNCOMMITTED ,但它不起作用。 我必须将这两个操作放在同一个事务中,因为任何一个失败都应该回滚两个操作,我不能提交第一个操作然后继续第二个操作。 我怎么能在Spring框架中做到这一点?

JBoss 7.1基于数据库的JAAS身份validation – 身份validation失败

我试图在JBoss 7.1应用程序服务器上实现基于数据库的JAAS身份validation,但得到以下错误。 任何指针都会有所帮助。 我已经分享了配置细节。 14:46:03,807 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule](http-localhost / 127.0.0.1:8080-2)获取用户密码 14:46:03,808 DEBUG [org.jboss.jca.core。 connectionmanager.pool.strategy.OnePool](http-localhost / 127.0.0.1:8080-2)AppDS:returnConnection(40c2d8ac,false)[1/9] 14:46:03,808 TRACE [org.jboss.security.auth.spi .DatabaseServerLoginModule](http-localhost / 127.0.0.1:8080-2)resumeAnyTransaction 14:46:03,808 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule](http-localhost / 127.0.0.1:8080-2) 用户’test_user’已通过validation,loginOk = true 14:46:03,808 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule](http-localhost / 127.0.0.1:8080-2)abort 14:46:03,809 ERROR [org。 jboss.security.authentication.JBossCachedAuthenticationManager](http-localhost / 127.0.0.1:8080-2) 登录失败:javax.security.auth.login.FailedLoginException:密码不正确/密码在 org.jboss.security.auth.spi中是必需的 。 UsernamePasswordLoginModule.login(UsernamePasswordLogin 在sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)[rt.jar:1.7。 0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)[rt.jar:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[rt.jar:1.7.0_25] at java.lang.reflect .Method.invoke(未知来源)[rt.jar:1.7.0_25] […]

JOOQ初始化DAO最佳方法

我想知道初始化JOOQ生成的DAO的最佳实践。 现在,我正在使用以下方法来启动JOOQ生成的DAO。 在以下情况中,StudentDao是JOOQ生成的。 public class ExtendedStudentDAO extends StudentDao { public ExtendedStudentDAO () { super(); } public ExtendedStudentDAO (Connection connection) { Configuration configuration = DSL.using(connection, JDBCUtils.dialect(connection)).configuration(); this.setConfiguration(configuration); } //adding extra methods to DAO using DSL public String getStudentName(Long ID) throws SQLException { try (Connection connection = ServiceConnectionManager.getConnection()) { DSLContext dslContext = ServiceConnectionManager .getDSLContext(connection); Record1 record = […]

保护基于Spring消息传递的websocket服务

我现在正在研究这个问题已有3个星期没有真正的解决方案,我真的希望你能帮助我。 一点项目背景: 使用基于JavaScript / PHP的客户端的Webapp通过SocksJS发送消息并向“门”发送消息 门是用Java / Spring编写的,使用@SendTo和@MessageMapping来发送和接收消息 来自门的消息被发送到RabbitMQ并通过“messageBrokerRegistry.enableStompBrokerRelay”返回给客户端 到目前为止它的工作原理,发送的消息都会回来。 现在是高级安全部分: 消息应该通过包含用户和东西的cookie来保护…… 据我所知,WebSockets本身并不支持安全性。 您必须像使用BASIC auth或类似的“常用”webapp一样保护您的webapp。 所以我添加了一个servletfilter,其中包含一个扩展GenericFilterBean的类。 如果用户发送了正确的cookie页面加载,否则他会收到403错误。 现在出现了问题: 由于@SendTo向所有订阅者发送消息而@SendToUser似乎只将其发送到一个会话,因此我倾向于使用@SendToUser。 但似乎无法选择要创建的rabbitMQ队列。 我想要一些像“/ myqueue-user-123”。 @SendToUser无法做到这一点,因为生成的队列是随机的,并且基于SessionID,我无法覆盖。 所以我尝试过(我尝试除了拦截器,事件等之外的其他东西),使用@SendTo没有值,以便客户端可以决定它必须发送到的队列。 我现在需要的是评估cookie中的用户与“/ myqueue / user-123”相关联。 如果不是,请不要向他发送消息。 阻止他订阅。 断开他,无论如何。 但在我看来,你绝对不能 – 阻止发送消息,只是“拦截”以记录它们而不是改变 – 断开websocket因为它自动尝试重新连接 – 抛出exception,因为订阅仍然继续(事件只是事件,不是要干涉的东西)。 我会非常感谢任何建议或提示。 因为我完全被困在这里……