Tag: playframework

更新任务模型 – RuntimeException:DataSource用户是否为空?

我今天开始学习Play框架,它非常好且易于学习。 我成功完成了他们网站上提供的示例,但我想对其进行一些修改。 我想看看是否可以更新特定任务的标签,所以我遵循以下方法 首先,我添加了一条更新数据的路径 POST /tasks/:id/update controllers.Application.updateTask(id: Long) 然后我将以下代码添加到index.scala.html文件中 @form(routes.Application.updateTask(task.id)) { Update note here: @inputText(taskForm(“label”)) } 然后我修改了Application.java类 public static Result updateTask(Long id) { Form taskForm = Form.form(Task.class).bindFromRequest(); if (taskForm.hasErrors()) { return badRequest(views.html.index.render(Task.all(), taskForm)); } else { Task.update(id, taskForm.get()); return redirect(routes.Application.tasks()); } } 最后在Task.java中我添加了这段代码 public static void update(Long id, Task task) { find.ref(id).update(task.label); } 但是当我执行更新操作时,我收到此错误 [RuntimeException:DataSource用户为空?] […]

如何在2.1 RC2中包含本机库(JNI)?

我正在使用Play Framework 2.1 RC2来构建一个使用TFS Java SDK的应用程序。 TFS APIs需要包含一组本机dll(例如native_auth.dll )。 如何在应用程序运行时使本机库可用? 我在哪里可以指定要包含的本机dll? 更新:我尝试了static块System.load(“full path”)并使用app.classloader().loadClass(“NativeUtils.class”);加载它app.classloader().loadClass(“NativeUtils.class”); ,但我仍然得到例外: java.lang.UnsatisfiedLinkError: com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Ljava/lang/String;)Ljava/lang/String; at com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Native Method) at com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.getEnvironmentVariable(NativePlatformMisc.java:134) at com.microsoft.tfs.jni.PlatformMiscUtils.getEnvironmentVariable(PlatformMiscUtils.java:52) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.shouldAcceptUntrustedCertificates(DefaultHTTPClientFactory.java:288) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.configureClientParams(DefaultHTTPClientFactory.java:324) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.newHTTPClient(DefaultHTTPClientFactory.java:137) at com.microsoft.tfs.core.TFSConnection.getHTTPClient(TFSConnection.java:1041) at com.microsoft.tfs.core.TFSConnection.getWebService(TFSConnection.java:874) at com.microsoft.tfs.core.config.client.DefaultClientFactory$9.newClient(DefaultClientFactory.java:265) at com.microsoft.tfs.core.config.client.DefaultClientFactory.newClient(DefaultClientFactory.java:90) at com.microsoft.tfs.core.TFSConnection.getClient(TFSConnection.java:1470) at com.microsoft.tfs.core.TFSTeamProjectCollection.getWorkItemClient(TFSTeamProjectCollection.java:370) 提前感谢您的投入!

使用Akka和Play Framework在Java中进行异步文件上载

我想以异步方式上传文件。 我正在使用Play Framework with Java。 我找到了许多异步上传文件的方法。 这些文件是多部分表单数据的一部分 1)Akka方式:将文件处理提供给演员 2)Play方式:使用Promise进行上传 3)Java方式:异步文件通道 我该怎么办? a)仅在播放控制器内使用Akka演员。 b)在返回Promise的play框架的异步方法中使用Akka actor 有了这个,akka的异步actor就在另一个Play的异步方法中,这可能是一种矫枉过正 如果我使用java而不是scala,最好的方法是什么?

是否有一个很好的替代Play,我可以将DynamoDB用于AWS上的Web应用程序?

我正在为最终用户设计一个图像存储应用程序,它将具有许多CRUD类型的function。 我想在Amazon Web Services(AWS)上托管应用程序,并打算使用该游戏! 框架,S3和NoSQL数据库。 我找不到Play的DynamoDB适配器! 并且读到MongoDB和EC2不能很好地相处。 Play可以使用DynamoDB吗? 是否有我应该考虑的替代框架(玩!看起来对我很有吸引力,干净,精益和简单)。

如何在Play framework 2应用程序中存储Akka actor的列表?

我有一个Play框架2应用程序,可以接收数据并通过WebSockets将其发送到多个客户端。 我使用Akka actor来处理WebSockets,就像在本文档中一样 。 我还有一个WebSocketRouter类,它扩展了UntypedActor并包含路由逻辑(决定哪些客户端传递系统接收的数据)。 我知道我可以使用Akka的Routerfunction,但对我来说这不是问题。 问题是我必须存储所有活动客户端的列表。 现在我将它存储在WebSocketRouter类的静态列表中。 这是编写概念validation原型的最快方法,但它不是线程安全的,似乎不是“Akka方式”。 下面是一个简化的代码示例: WebSocketController: //This controller handles the creation of WebSockets. public class WebSocketController extends Controller { public static WebSocket index() { return WebSocket.withActor(new F.Function() { public Props apply(ActorRef out) throws Throwable { return MessageSender.props(out); } }); } } MessageSender: //Hold a reference to the auto-created Actor that […]

附加调试器(使用eclipse)播放框架失败

我正在使用Scala在eclipse IDE的Play框架上编写一个Web。 我正在尝试调试我的应用程序,但命中调试附加失败。 我尝试使用Java而不是Scala进行切换,但是我得到了同样的错误。 这就是我的工作。 创建一个项目并运行play clean compile 运行play debug run 在Eclipse中,设置’debug configration’ – >远程java应用程序 – > host:localhost,port:9999和common:debug 在浏览器中键入URL并输入:localhost:9999。 然后在play framework命令行中出现以下故障:Debugger无法附加:握手失败 – 收到>GET / HTTP/1.1JDWP-Handshake< 知道什么是错的吗?

转换回原始类时出现ClassCastException错误

我有以下代码: public void doJob() { MyObj s; for ( Object o : MyObj.all().fetch()) { s = (MyObj) o; // ClassCastException here if (!s.fileExists()) { //Do some stuff } } } 抛出这个例外: play.exceptions.JavaExecutionException: models.MyObj cannot be cast to models.MyObj at play.jobs.Job.call(Job.java:155) at Invocation.Job(Play!) Caused by: java.lang.ClassCastException: models.MyObj cannot be cast to models.MyObj at jobs.OrphanSurveys.doJob(OrphanSurveys.java:18) at play.jobs.Job.doJobWithResult(Job.java:50) […]

mysql-connector-java for mysql 5.6

我有一个项目在玩! 框架。 我使用了mysql 5.1并添加了mysql-connector-java依赖项,它运行得很好。 但是现在我需要将mysql升级到5.6,但是我找不到用于5.6的mysql-connector-java。 在这种情况下,任何人都可以提供一些随身听吗? 是否有可能有2个版本的mysql,其中一个用于项目,一个用于我的其他需要,例如与db备份集成,而两个版本共享相同的db? 非常感谢。

玩! 框架ENUM和Groovy问题

我有类似以下的东西 – Woman.java … @Entity public class Woman extends Model { public static enum Outcome { ALIVE, DEAD, STILL_BIRTH, LIVE_BIRTH, REGISTER } … } File.java … @Entity public class Form extends Model { … public Outcome autoCreateEvent; … } create.html上 #{select “autoCreateEvent”, items:models.Woman.Outcome.values(), id:’autoCreateEvent’ /} 它将ENUM值保存在DB中,这是可以的。 但是,当我重新加载/编辑时,问题就出现了。 因为它使用ALIVE,DEAD等作为选项的值,所以它无法正确显示列表。 任何洞察力?

从Google App Engine发送请求

我正在开发一个应该在Google应用引擎上部署的播放网络应用程序。 我正在尝试向另一台服务器发送请求,而不是处理响应。 在我的本地主机上,它运行得很好但是当我在GAE上测试它时遇到了困难。 代码如下: import com.google.appengine.repackaged.org.apache.http.HttpResponse; import com.google.appengine.repackaged.org.apache.http.client.methods.HttpGet; import com.google.appengine.repackaged.org.apache.http.conn.scheme.PlainSocketFactory; import com.google.appengine.repackaged.org.apache.http.conn.scheme.Scheme; import com.google.appengine.repackaged.org.apache.http.conn.scheme.SchemeRegistry; import com.google.appengine.repackaged.org.apache.http.impl.client.DefaultHttpClient; import com.google.appengine.repackaged.org.apache.http.impl.conn.SingleClientConnManager; import com.google.appengine.repackaged.org.apache.http.params.BasicHttpParams; public class Getter{ public static byte[] getStuff(){ String urlString = “http://example.com/item?param=xy”; SchemeRegistry schemeRegistry = new SchemeRegistry(); schemeRegistry.register(new Scheme(“http”, PlainSocketFactory.getSocketFactory(), 80)); BasicHttpParams params = new BasicHttpParams(); SingleClientConnManager connmgr = new SingleClientConnManager(params, schemeRegistry); DefaultHttpClient client = new […]