2011-07-27 108 views

回答

5

是的,這當然是可能的。一個簡單但完整的例子:

[db.opa]

database ./counter 
db /counter : int 
Counter = {{ 
    read() = /counter 
    inc() = /counter <- read() + 1 
}} 

[db_read.opa]

server = one_page_server("Counter app", -> <>Counter value: {Counter.read()}</>) 

[db_write.opa]

_ = Scheduler.timer(1000, -> Counter.inc()) 

編譯:

opa db_read.opa db.opa -o db_read.exe 
opa db_write.opa db.opa -o db_write.exe 

運行數據庫counter數據庫服務器上的端口5001

opa-db-server -b 127.0.0.1:5001 --db-local counter 

運行的應用程序,連接到該數據庫:

./db_read.exe --db-remote 127.0.0.1:5001 
./db_write.exe --db-remote 127.0.0.1:5001 

db_write應用程序更新計數器的每一秒。通過訪問localhost:8080(並刷新頁面),您可以看到db_read應用。

希望Opa-DB專家會糾正我,如果我有什麼問題。

+0

謝謝akoprowski,我會在稍後嘗試它,但它肯定看起來像關鍵是使用'opa-db-server -b 127.0.0.1:5001 --db-local counter' – russellfeeed

+0

是的,只是試過了,它工作。關於「無法在客戶端上設置節點屬性」發出了一些警告,但該概念正常工作。謝謝! – russellfeeed

相關問題