jjzjj

spring - 集成基于 Spring 的 Java 应用程序和 Clojure 库

我们有一个基于Spring4.0的Web应用程序在Tomcat8中运行(或者我们有一个Undertow的启动脚本)。SpringMVC正在处理请求。我正在寻找一种方法,将一些请求处理代码推迟到Clojure库,同时对遗留Java代码进行最少的更改。例如,URL以.java结尾的请求将由传统Java处理,而以.clj结尾的请求将由Clojure处理。现在,我看到三个选项:在Java项目的依赖项中包含Clojure库jar,并使用clojure.java.api从Java调用Clojure代码。使用某种RPC/RMI或消息队列,例如Redis和Carmine的消息队列处理能力。这样,Clo

spring - 集成基于 Spring 的 Java 应用程序和 Clojure 库

我们有一个基于Spring4.0的Web应用程序在Tomcat8中运行(或者我们有一个Undertow的启动脚本)。SpringMVC正在处理请求。我正在寻找一种方法,将一些请求处理代码推迟到Clojure库,同时对遗留Java代码进行最少的更改。例如,URL以.java结尾的请求将由传统Java处理,而以.clj结尾的请求将由Clojure处理。现在,我看到三个选项:在Java项目的依赖项中包含Clojure库jar,并使用clojure.java.api从Java调用Clojure代码。使用某种RPC/RMI或消息队列,例如Redis和Carmine的消息队列处理能力。这样,Clo

clojure - 在 Leiningen 中使用 redis-clojure 时出现问题

嘿,我是Clojure和Leiningen的新手,有点卡住了。我已经设法与Leiningen建立了一个项目。我能够将它编译成一个uberjar并运行repl。我还设法加载了一个名为aleph的依赖项来运行一个简单的并发网络服务器。我的下一步是使用redis-clojure访问redis。但是我被困在这里了。这是我的project.clj:(defprojectalpha"0.0.1-SNAPSHOT":description"Justanalphatestscript":mainalpha.core:dependencies[[org.clojure/clojure"1.2.0"][o

clojure - 在 Leiningen 中使用 redis-clojure 时出现问题

嘿,我是Clojure和Leiningen的新手,有点卡住了。我已经设法与Leiningen建立了一个项目。我能够将它编译成一个uberjar并运行repl。我还设法加载了一个名为aleph的依赖项来运行一个简单的并发网络服务器。我的下一步是使用redis-clojure访问redis。但是我被困在这里了。这是我的project.clj:(defprojectalpha"0.0.1-SNAPSHOT":description"Justanalphatestscript":mainalpha.core:dependencies[[org.clojure/clojure"1.2.0"][o

Java扩展Nginx之二:编译nginx-clojure源码

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos为什么要编译nginx-clojure源码作为《Java扩展Nginx》的第二篇,本想与大家一起开始nginx-clojure的深度之旅,但有个问题若不解决,会让大多数有兴趣的读者立即止步、关闭网页、再也不见前文咱们使用的是nginx-clojure官方的安装包,这是个编译好的nginx可执行文件,开箱即用,当时我们还用命令查看过nginx版本是1.18.0,如下图:直接使用nginx-clojure官方编译好的安装包,虽然好处是简单省事儿,但同样带来一

Java扩展Nginx之一:你好,nginx-clojure

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于Nginx扩展以欣宸自己为例,对一个java程序员来说,nginx并不陌生,下图应该是最常见的使用场景了,反向代理:除了反向代理,nginx的模块化机制让nginx具备了更多丰富的特性,例如ngx_http_log_module(日志)、ngx_http_rewrite_module(重定向)等除了官方模块,还有很多强大第三方模块可以选择,如下图,更多详情参考:https://www.nginx.com/resources/wiki/modules/

go - 比较 Clojure 的 go-blocks 与 Go 的 goroutines 的用法

我试图了解Clojure的go-blocks与Go的goroutines的实现特征和由此产生的性能。在Clojure中>!!和阻塞当前线程,这意味着它们只能在显式创建线程时使用(否则“唯一的”主线程被阻塞)。>!和正在parking,因为go宏管理一个兼顾多个“进程”的隐式状态机。然而,在Go中,这一切都隐藏在运行时中,goroutines扮演着这两个角色。那么说Clojure代码在仅使用parking版本时等同于Go是否正确?由于go中有一个线程池宏,这有点像Go的线程池底层goroutines。除了性能会更差,因为Go在运行时执行此操作,而Clojure在Clojure代码中显式管

go - 比较 Clojure 的 go-blocks 与 Go 的 goroutines 的用法

我试图了解Clojure的go-blocks与Go的goroutines的实现特征和由此产生的性能。在Clojure中>!!和阻塞当前线程,这意味着它们只能在显式创建线程时使用(否则“唯一的”主线程被阻塞)。>!和正在parking,因为go宏管理一个兼顾多个“进程”的隐式状态机。然而,在Go中,这一切都隐藏在运行时中,goroutines扮演着这两个角色。那么说Clojure代码在仅使用parking版本时等同于Go是否正确?由于go中有一个线程池宏,这有点像Go的线程池底层goroutines。除了性能会更差,因为Go在运行时执行此操作,而Clojure在Clojure代码中显式管

asynchronous - 为什么 Clojure 的异步库不能处理 Go 素数筛选?

为了试用Clojure中的异步库,我翻译了Go中的素数筛选示例。在REPL中运行,成功打印出最多227个素数,然后停止。我按下Ctrl-C并尝试再次运行它,但它不会打印出更多数字。有没有办法让Clojure处理这个问题,或者异步库是否还没有准备好?;;Aconcurrentprimesievetranslatedfrom;;https://golang.org/doc/play/sieve.go(require'[clojure.core.async:asasync:refer[!!chango]])(defngenerate[ch]"Sendsthesequence2,3,4,...

asynchronous - 为什么 Clojure 的异步库不能处理 Go 素数筛选?

为了试用Clojure中的异步库,我翻译了Go中的素数筛选示例。在REPL中运行,成功打印出最多227个素数,然后停止。我按下Ctrl-C并尝试再次运行它,但它不会打印出更多数字。有没有办法让Clojure处理这个问题,或者异步库是否还没有准备好?;;Aconcurrentprimesievetranslatedfrom;;https://golang.org/doc/play/sieve.go(require'[clojure.core.async:asasync:refer[!!chango]])(defngenerate[ch]"Sendsthesequence2,3,4,...