- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在工作灯和多线程方面遇到了一些问题。
我们有一个批量导入程序,需要每天运行一次。
到目前为止我们做了什么
除了调用 HTTP 适配器之外,代码中的所有内容都工作正常。每次调用适配器时,都会返回错误消息“BaseProjectLocal is null”。如果代码由另一个工作灯适配器启动,则该代码可以正常工作。
似乎存在错误,因为他不知道如何访问适配器(我假设)
java.lang.RuntimeException: BaseProjectLocal is null
at com.worklight.common.util.BaseProjectLocal.get(BaseProjectLocal.java:41)
at com.worklight.server.util.ProjectLocal.get(ProjectLocal.java:55)
at com.worklight.server.util.ProjectLocal.getWorklightBundlesS(ProjectLocal.java:113)
at com.worklight.server.bundle.api.WorklightBundles.getInstance(WorklightBundles.java:28)
at com.ibm.nl.wwdw.server.util.AdapterCaller.doCall(AdapterCaller.java:25)
at com.ibm.nl.wwdw.server.connections.CommunityCollector.getMembersFromCommunity(CommunityCollector.java:50)
at com.ibm.nl.wwdw.server.importer.ConnectionsImporter.StartImport(ConnectionsImporter.java:53)
at com.ibm.nl.wwdw.server.importer.MyJob.execute(MyJob.java:17)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
2014 年 6 月 2 日 17:38:56 com.ibm.nl.wwdw.server.importer.ConnectionsImporter StartImport严重:BaseProjectLocal 为空
调用适配器的Java代码
public static JSONObject doCall(String adapter, String path, String paramArray) {
Logging.logger.warning(adapter+"/"+path+"?"+paramArray);
DataAccessService service = WorklightBundles.getInstance().getDataAccessService();//This line gives the error report
ProcedureQName procedureQName = new ProcedureQName(adapter, path);
InvocationResult result = service.invokeProcedure(procedureQName, paramArray);
Logging.logger.warning(result.toJSON().toString());
return result.toJSON();
}
}
最佳答案
问题可能是线程没有身份验证上下文。虽然可以手动创建身份验证上下文,但完成起来很棘手,因为它需要使用内部 API(这意味着它是不支持的路径,...)。
类似这样的事情:
authService = (AuthenticationServiceBean);
getBeanFactory().getBean(AuthenticationService.BEAN_ID);
authContext = authService.createAuthenticationContext(realm, username, password);
AuthenticationContext.setThreadContext(authContext);
建议在 Worklight 外部运行导入程序,并远程调用适配器(通过 HTTP)。
但请注意,适配器不应受到其他领域的保护。
关于java - worklight 多线程/servlet上下文调用适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23998472/
我在 IBM worklight for android 上开发了一个应用程序。我必须使用 Web 服务,但我需要 Worklight 服务器。我想知道为什么在 worklight 上开发的应用程序需
我在像这样的 Work Light 混合项目中有一个自定义身份验证器 public class MyCustomAuthenticator implements WorkLightAuthentica
我正在寻找有关如何将现有 Worklight 代码导入支持 Worklight 的 Eclipse 环境的信息。 除了导入项目之外,似乎还可以导入应用程序和适配器。应用程序和适配器必须包含哪些子组件才
能否将 Worklight Server 部署到还运行其他非 Worklight .ear 应用程序的 WebSphere 应用程序服务器?或者 Worklight 是否需要自己独立的 WAS 实例?
我正在使用 Worklight,并且很难理解什么是 Worklight 服务器。 它在哪里? 当我们构建应用程序时,它会在服务器控制台中显示该应用程序正在部署到 Worklight Server。 最
有没有一种方法可以更改 Android 选项菜单中的默认“Worklight 设置”字符串(由 Worklight 提供)? 最佳答案 更新:更正了答案...... 是的。 打开 yourApp.js
我想将应用程序图标从默认图标更改为自定义图标。 我在 application-descriptor.xml 中使用这个元素 common/images/some-logo.png 但没有任何变化。 W
我需要自定义一个屏幕,用户可以在其中通知客户端的 worklight 服务器 ip。我可以动态更改 url 连接吗?我知道在 android 中按下菜单按钮,有通知 url 的选项,但我想要自定义屏幕
在我的 Linux 机器上, 当我导入 WorklightStarter project对于 Worklight 6.1 到全新的 Eclipse 环境(w/Worklight Studio 从 Ec
我刚刚升级到 Worklight 6.0,但现在找不到我的控制台!我曾经访问过 http://localhost:8080/console 但我现在无法访问。 Worklight 告诉我以下内容: [
当我尝试通过右键单击应用程序名称 -> Run As -> Build All and Deploy 来构建和部署我的应用程序时...我在控制台中收到失败通知: Failed to deploy th
我可以使用适用于 Android 的 Facebook SDK 登录 Facebook 并获取用户信息。执行此操作时,所有代码都在 src/com.name/MainActivity.java 中。
我使用 worklight 6.0 和 dojo toolkit 1.9 为 android environment2.2 开发了一个示例混合应用程序。当我在模拟器上测试这个应用程序时它工作正常。但是
IBM Worklight 6.0 安装在带有 mySQL 数据库的 Liberty Profile 8.5.5 上。在部署应用程序并尝试访问 Worklight 控制台时,在控制台上遇到以下错误 E
我正在 Windows 计算机上的 Eclipse 上使用 worklight。我永远无法让它正常停止或重新启动。通常我必须花 5 分钟尝试删除服务器并添加回工作灯项目,然后它可能会再次启动。有人经历
我想知道如何在 worklight 中发送本地通知。我希望即使应用程序不在前台,通知也会显示在设备屏幕上。我进行了搜索,只发现使用 WL.SimpleDialog,但是这只在用户打开应用程序时显示。有
我已将 NativeAPIForIOSPush 作为服务器组件设置了 module_07_04_iOSNativePush iOS项目。我已经在工作灯项目中更新了.p12文件。并将applicatio
我在使用 Worklight 适配器进行基本身份验证时遇到问题。每当我对 REST URL 进行身份验证时,它都会进行身份验证。但是,身份验证似乎在 Worklight 服务器中创建了一个 sessi
当我尝试在我的一个 worklight 项目上构建和部署所有内容时,我开始遇到此错误: !ENTRY com.worklight.studio.plugin 4 0 2013-03-18 10:17:
Worklight 是否支持对同一项目使用两个推送证书? 我需要在开发和生产模式下测试我的项目,所以我需要放两个 .p12 文件。 Worklight 文档说我们需要将证书命名为“apns-certi
我是一名优秀的程序员,十分优秀!