java.lang.ClassCastException在远程服务器上的spark作业中使用lambda表达式
我正在尝试使用Sparkjava.com框架为我的Apache Spark作业构建Web API.我的代码是: @Override public void init() { get("/hello", (req, res) -> { String sourcePath = "hdfs://spark:54310/input/*"; SparkConf conf = new SparkConf().setAppName("LineCount"); conf.setJars(new String[] { "/home/sam/resin-4.0.42/webapps/test.war" }); File configFile = new File("config.properties"); S
14 2024-02-29
编程技术问答社区
无法在for循环中使用JavaScript创建SQLite表
使用Java Spark Framework设置通往特定静态文件的路由的简单方法? 我正在设置一个Angular(1.5)应用程序,该应用程序可从Java Spark服务器提供.我已经设置了服务静态文件的一般方法: staticFiles.location("/public"); 该应用将具有多个角路由,例如/start,/config,/live等 Angular将加载索引和JS文件时,会照顾路由.但是我想支持将应用程序直接加载到/start,/config,/live页面上.要实现这一目标,我需要从所有这些路线中提供index.html. 使用Python烧瓶,您可以做这样的事情: @app.route('/live') @app.route('/start') @app.route('/config') def index(): return app.send_static_file('index.html') 我找不到Spark中看起来像
2 2024-02-24
编程技术问答社区
发送此AJAX帖子数据的正确内容类型
我在使用AJAX帖子发送base64图像数据有问题 我认为我对内容类型的价值错误,但尝试了 application/json , text/json and image/jpeg nothing hone bosice javascript function sendFormData(fD) { var urls = fD.get('urls'); console.log('urls', urls); var xhr = new XMLHttpRequest(); xhr.open('POST', '/editsongs.update_artwork'); alert(urls); xhr.setRequestHeader("Content-type", "image/jpeg"); xhr.send(urls); } 浏览器控制台显示
14 2024-01-21
编程技术问答社区
如何使用HttpURLConnection在请求体中发送数据?
我正在使用HttpURLConnection向本地部署并使用Java Spark创建的本地服务提出邮政请求. 我想在使用HttpURLConnection进行发布时在请求正文中发送一些数据P> Java Spark邮政服务处理程序 post("/", (req, res) -> { System.out.println("Request Body: " + req.body()); return "Hello!!!!"; }); httpClass进行帖子调用 public class HTTPClassExample{ public static void main(String[] args) { try{ URL url = new URL("http://localhost:4567/"); HttpURLConnection httpCon = (HttpURLConnec
8 2023-12-02
编程技术问答社区
如何部署spark Java web app?
我使用Spark Web框架来创建WebApp,但我不知道如何部署此WebApp.很抱歉,如果这是非常基本的,但是我是新手Spark Framework,我找不到任何指导我如何部署Spark WebApp的文档.: 如何部署Spark Web Appstalone 如何构建Spark WebApp(到WAR文件或此类文件)并使用Web服务器(Jetty或Tomcat)部署. 解决方案 您首先需要创建一个常规的Java项目,该项目可以内置在.war文件中(在Eclipse中,这将是一个动态的Web项目) 此链接上的火花文档描述了需要添加到您的项目Web.xml文件中的内容. http://sparkjava.com/documentation.html#other-webserver 过滤器中文档中列出的param-value需要指向您定义路线的类. 此外,以前在main()中的代码都需要移动到init(). @Override public voi
18 2023-12-02
编程技术问答社区
`:path-param'和`{path-param}`在java spark中有什么区别?
我正在使用Java Spark构建的REST服务器,我想知道使用:path-parameter vs {path-parameter}的以下两个语法之间的区别: path("/containers/:container-id", () -> { ...} ) path("/shipments/{shipment-id}", () -> { ... } ) 在一个点上查询路径/{handler-id}上的路径参数时(嵌套在/v1和/handlers内)时,我必须将语法从:形式更改为: form在查询handler-id的参数时,要获得火花以不返回null. 那么这两个语法有什么区别? 解决方案 路径中定义参数的唯一语法是:path-param. 查询此参数的值是由String paramVal = request.params(":path-param")完成的(查询时结肠是可选的). 或,如果要获得所有参数名称值的地图,您将request.param
10 2023-11-10
编程技术问答社区
如何在Spark Java框架中使用get获取请求参数?
我是Sparkjava的新手.我想使用Spark Java阅读我的请求参数,但我找不到正确的语法.请帮助我.以下是我的路线方法,客户呼叫它: 我的客户请求URL: /smartApp/getDataviewModelConfig?collid = 123' 路线方法: get("smartapp/getDataViewModelConfig/:id", "application/json", (request, response) -> { String id = request.params(":id"); } " ID"字段在此处返回null.关于这里出了什么问题的任何建议? 解决方案 如果您必须使用像/smartapp/getDataViewModelConfig?collId=123这样的URL工作,则必须处理实现中的查询参数,如以下内容: get("smartapp/getDataViewModelConfig", "a
6 2023-11-10
编程技术问答社区
在使用Spark网络框架时,如何使用本地Servlet过滤器?
我正在玩 spark (Java Web框架,而不是Apache Spark). 我觉得很容易定义路线和过滤器,但是我希望将本机servlet过滤器应用于我的路线,似乎找不到方法. 更具体地说,我想使用 Jetty的Dosfilter (与火花滤波器定义形成对比).由于Spark使用了嵌入式码头,因此我没有Web.xml注册DosFilter.但是,Spark不会公开服务器实例,因此我找不到一种优雅的方式来编程注册过滤器. 有没有办法将本机servlet过滤器应用于我的路线? 我想到将Dosfilter包裹在我自己的火花滤清器中,但这似乎是一个奇怪的主意. 解决方案 您可以这样做: public class App { private static Logger LOG = LoggerFactory.getLogger(App.class); public static void main(String[] args) throws Exce
28 2023-08-30
编程技术问答社区
Spark Java。无法处理零件,因为没有提供多零件配置
我想使用SPARK上传来自HTML表单的文件.以下是我的Java功能来处理邮局: Spark.post("/upload", "multipart/form-data", (request, response) -> { String location = "temporary"; // the directory location where files will be stored long maxFileSize = 100000000; // the maximum size allowed for uploaded files long maxRequestSize = 100000000; // the maximum size allowed for multipart/form-data requests int fileSizeThreshold = 1024;
38 2023-08-30
编程技术问答社区
刷新由SparkJava提供的静态文件
我正在使用Spark Java进行一个项目.在服务器端,创建了一些图像,我希望它们在客户端中可用.由于我有一个静态内容目录,因此在服务器端创建图像后,我将其放在该目录中.但是,除非我重新启动服务器,否则该文件不可用.我想必须有一种方法可以在运行时刷新Spark Java的静态目录文件,以便可以满足放松时创建的图像的请求.对吗? 谢谢! 解决方案 我已经通过将PNG编码为基础64并将其作为响应发送给客户. . 其他解决方案 文档说: 如果您使用staticFiles.location(...),这意味着将静态文件保存在类路径中,则在构建应用程序时将静态资源复制到目标文件夹中.这意味着您必须制作/构建项目才能刷新静态文件.这样做的解决方法是告诉Spark从绝对路径到SRC-Directory读取静态文件. 所以使用staticFiles.externalLocation().
20 2023-08-29
编程技术问答社区
如何在Gson中序列化List对象
我使用以下方法从数据库返回数据(方法来自get("/data_on_page_load", "application/json", (Request request, Response response) -> { List list = Post.findAll(); // NEED TO SERIALIZE THE RESPONSE System.out.println("list is " + list); return (list); }, new JsonTransformer()); 数据从DB返回: [Model: com.soul.seeker.models.Post, table: 'post', attributes: {created_at=2017-03-26 04:06:35.0, details=aaa, id=36, title=Eventsa, url=eventsa, userImage=assets/img/spiritual
42 2023-08-29
编程技术问答社区
如何使用 Java spark 下载文件?
我想编写简单的REST API以进行文件下载. 我找不到有关它的文档,如我所知,我需要设置mimetype='application/zip'以进行响应,但尚不清楚如何返回流. http://sparkjava.com/ 更新: 在此处解决示例代码: public static void main(String[] args) { //setPort(8080); get("/hello", (request, responce) -> getFile(request,responce)); } private static Object getFile(Request request, Response responce) { File file = new File("MYFILE"); responce.raw().setContentType("application/octet-stream"); responc
12 2023-08-21
编程技术问答社区
sparkjava: 路由一定要在main方法中吗?
我是Sparkjava的新手,总体上喜欢它.但是,是否必须在主要方法中定义新的路线/终点?对于任何重要的Web应用程序,这将导致很长的主方法,或者我需要使用多种主要方法(因此在多个实例之间进行拆分服务器资源). 这两个Sparkjava文档页面似乎在主要方法中定义了路由: http://sparkjava.com/documentation.html#路由和此处开始. 有其他我没有看到的方法吗?粗略的Google搜索没有向我展示更好的方法... ========== 这是我根据安德鲁(Andrew)的答案所做的完整解决方案.我认为,在主要方法之外添加端点应该是Sparkjava文档页面的一部分: 主要方法: public static void main(String[] args) { //Do I need to do something more with the Resource instance so that sparkjava n
18 2023-08-12
编程技术问答社区
与Spark Java的相互认证
我正在尝试使用Spark-Java和从 secure(keystorefilepath,keystorepassword,truststorefilepath,truststorepassword); ...看起来正是我需要的.但是,我只能对服务器进行一种方式验证,客户证书似乎从未对信托店进行验证.我正在使用2.1版,任何建议或指针都将不胜感激. 解决方案 似乎2.6.0版中的Spark添加了您需要的东西.现在,有第二个版本的secure: /** (...) * @param needsClientCert Whether to require client certificate to be supplied in * request (...) */ public synchronized Service secure(String keystoreFi
16 2023-06-08
编程技术问答社区
Java Spark框架: 使用直板HTML模板
使用直接HTML页面作为火花模板的最简单方法是什么(即,我不想通过TemplateEngine实现). 我可以很好地使用模板引擎,例如: Spark.get("/test", (req, res) -> new ModelAndView(map, "template.html"), new MustacheTemplateEngine()); ,我尝试仅使用引擎的模型注视: Spark.get("/", (req, res) -> new ModelAndView(new HashMap(), "index.html")); ,但这就是我只是模型的tostring()和视图:spark.ModelAndView@3bdadfd8. 我正在考虑编写自己的引擎并实施渲染()来执行IO来服务HTML文件,但是有更好的方法吗? 解决方案 更新答案 在答案的帮助下,在这里,我已经更新了此答案. get("/", (req, res) -> ren
14 2023-06-08
编程技术问答社区
使用spark解析POST主体到java对象
我从春天到火花迁移,现在我陷入了基本的东西. 当我提出一个帖子请求时,在身体中发送数据时,我想将Java对象放回控制器中. 在春季我曾经做过 @RequestBody User user ,它自动"填充" .. 现在有了火花,我有了方法: request.body(); ,但这给了我一个这样的序列化字符串: id=7&name=Pablo+Mat%C3%ADas&lastname=Gomez&githubUsername=pablomatiasgomez 那么如何获得用户DTO? 当然,用户类具有属性 id 名称 lastname githubusername 解决方案 afaik,Spark不提供此功能.当我将其用于小型PET项目时,我写了一些小型实用方法,将URL编码的字符串解析为这样的POJO: import com.google.gson.Gson; import java.io.Unsupport
40 2023-06-06
编程技术问答社区
一个JVM中的多个Spark服务器
是否有任何方法可以在同一JVM中运行Sparkjava服务器的多个实例?我正在使用"插件"软件中使用它,并在外部情况下使用我的插件的多个实例,然后导致 java.lang.IllegalStateException: This must be done before route mapping has begun at spark.SparkBase.throwBeforeRouteMappingException(SparkBase.java:256) at spark.SparkBase.port(SparkBase.java:101) at com.foo.bar.a(SourceFile:59) 在我看来,通过查看该代码是在代码围绕静态字段构建的代码,因此我正在考虑classloader trick或使用SparkServerFactory以某种方式消除SparkBase. . 解决方案 来自Spark 2.5您可以使用ignite(): http://sp
20 2023-06-06
编程技术问答社区
NGINX和Spark Java之间的跨源通信
我正在使用nginx和sparkjava进行Web应用程序.我确定我已经正确启用了所有CORS标头.尽管如此,我还是变得" xmlhttprequest无法加载 http://.我检查了浏览器的网络选项卡,以获取响应并发送请求标题.他们也在下面提到.任何帮助让我知道我的方法出了什么问题,这将受到高度赞赏:) nginx的客户端方法: function(button, event, options){ var form = Ext.getCmp("LoginformId").getForm(); if (form.isValid()) { var userJson = JSON.stringify(form.getFieldValues()); form.submit({ url: 'http://loc
20 2023-04-22
编程技术问答社区
测试实现SparkApplication接口的Java Spark Microservices应用程序
我试图弄清楚如何测试用Java Spark编写的Web/REST服务,并且关于如何做的教程并不多.由于Apache Spark和Java Spark之间的混淆,找到答案很棘手. 我遇到了这个 Resource 但是,我无法按照我的期望工作.还有此 resource 和Java Spark github ,但它们都可能使用嵌入式服务器. 无论如何,假设我有以下服务 public class RestService implements SparkApplication { @Override public void init() { get("/", (req, res) -> "Hello World!"); } } 我想测试上述内容,以确保是否Hello World! HTTP GET请求.我有以下测试: public class RestServiceTest { //not sure if this is
60 2023-03-27
编程技术问答社区