- 기본적으로 comet을 이용한 MessageBus로 구현이 되어 있다.
- websocket이 지원이 되면 Errai Bus가 comet이 아닌 WebSocket을 이용한다.
출처 : http://docs.jboss.org/errai/2.2.0.CR1/errai/reference/html_single/#sid-5931280_MessagingAPIBasics-SendingMessageswiththeClientBus
mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main"
public void afterPropertiesSet() throws FdlException { try { egovProperties = new ExtendedProperties(); // 외부파일이 정의되었을때 if (extFileName != null) { refreshPropertyFiles(); } Iterator it = properties.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); String key = (String) entry.getKey(); String value = (String) entry.getValue(); if (EgovPropertyService.LOGGER.isDebugEnabled()) { EgovPropertyService.LOGGER.debug(messageSource.getMessage( "debug.properties.property", new String[] {key, value }, Locale.getDefault())); } if (key == null || key.equals("")) { if (EgovPropertyService.LOGGER.isErrorEnabled()) EgovPropertyService.LOGGER.error(messageSource .getMessage("error.properties.check.essential", new String[] {}, Locale.getDefault())); throw new FdlException(messageSource, "error.properties.check.essential", null); } egovProperties.put(key, value); } } catch (Exception e) { if (e instanceof FdlException) throw (FdlException) e; else { if (EgovPropertyService.LOGGER.isErrorEnabled()) EgovPropertyService.LOGGER.error(messageSource.getMessage( "error.properties.initialize.reason", new String[] {}, Locale.getDefault())); throw new FdlException(messageSource, "error.properties.initialize", e); } } }
egovProperties.put(key, value);
public class Test { private EgovPropertyService propertiesService; public void showKeys() { Iterator keys = soapPropertiesService.getKeys(); while(keys.hasNext()) { System.out.println(keys.next()); } } }
(ns some.namespace (:require [clojure.contrib.json :as json]) (:use [clojure.string :only [trim lower-case split]] [clojure.contrib.shell-out] [clojure.pprint] [clojure.test]))
(ns rosettacode.24game (:require [clojure.string :as str])) (defn parse-infix-data "input '1+2+3+4' output (1 + 2 + 3 + 4) where the numbers are clojure numbers, and the symbols are clojure operators" [string] (map read-string (next (str/split string #""))))
;; Multiple imports at once. (import '(java.util Date Calendar) '(java.net URI ServerSocket) java.sql.DriverManager)
user=> (import java.util.Date) java.util.Date user=> (def *now* (Date.)) #'user/*now* user=> (str *now*) "Tue Jul 13 17:53:54 IST 2010"
(defproject firstClojure "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :plugins [[lein-swank "1.4.4"]] :dependencies [[org.clojure/clojure "1.4.0"]])
slime 실행
#!/usr/bin/python
################################################################################
##3456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
## 10 20 30 40 50 60 70 80
##
## Info:
## Example of how to use libnotify correctly and at the same time comply to
## the new jaunty notification spec (read: visual guidelines)
##
## Run:
## chmod +x icon-summary-body.py
## ./icon-summary-body.py
##
## Copyright 2009 Canonical Ltd.
##
## Author:
## Mirco "MacSlow" Mueller <mirco.mueller@canonical.com>
##
## This program is free software: you can redistribute it and/or modify it
## under the terms of the GNU General Public License version 3, as published
## by the Free Software Foundation.
##
## This program is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranties of
## MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
## PURPOSE. See the GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License along
## with this program. If not, see <http://www.gnu.org/licenses/>.
##
################################################################################
import
sys
import
pynotify
# even in Python this is globally nasty <img src="http://developer.ubuntu.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> , do something nicer in your own code
capabilities
=
{
'actions'
:
False
,
'body'
:
False
,
'body-hyperlinks'
:
False
,
'body-images'
:
False
,
'body-markup'
:
False
,
'icon-multi'
:
False
,
'icon-static'
:
False
,
'sound'
:
False
,
'image/svg+xml'
:
False
,
'private-synchronous'
:
False
,
'append'
:
False
,
'private-icon-only'
:
False
}
def
initCaps ():
caps
=
pynotify.get_server_caps ()
if
caps
is
None
:
print
"Failed to receive server caps."
sys.exit (
1
)
for
cap
in
caps:
capabilities[cap]
=
True
def
printCaps ():
info
=
pynotify.get_server_info ()
print
"Name: "
+
info[
"name"
]
print
"Vendor: "
+
info[
"vendor"
]
print
"Version: "
+
info[
"version"
]
print
"Spec. Version: "
+
info[
"spec-version"
]
caps
=
pynotify.get_server_caps ()
if
caps
is
None
:
print
"Failed to receive server caps."
sys.exit (
1
)
print
"Supported capabilities/hints:"
if
capabilities[
'actions'
]:
print
"\tactions"
if
capabilities[
'body'
]:
print
"\tbody"
if
capabilities[
'body-hyperlinks'
]:
print
"\tbody-hyperlinks"
if
capabilities[
'body-images'
]:
print
"\tbody-images"
if
capabilities[
'body-markup'
]:
print
"\tbody-markup"
if
capabilities[
'icon-multi'
]:
print
"\ticon-multi"
if
capabilities[
'icon-static'
]:
print
"\ticon-static"
if
capabilities[
'sound'
]:
print
"\tsound"
if
capabilities[
'image/svg+xml'
]:
print
"\timage/svg+xml"
if
capabilities[
'private-synchronous'
]:
print
"\tprivate-synchronous"
if
capabilities[
'append'
]:
print
"\tappend"
if
capabilities[
'private-icon-only'
]:
print
"\tprivate-icon-only"
print
"Notes:"
if
info[
"name"
]
=
=
"notify-osd"
:
print
"\tx- and y-coordinates hints are ignored"
print
"\texpire-timeout is ignored"
print
"\tbody-markup is accepted but filtered"
else
:
print
"\tnone"
if
__name__
=
=
'__main__'
:
if
not
pynotify.init (
"icon-summary-body"
):
sys.exit (
1
)
# call this so we can savely use capabilities dictionary later
initCaps ()
# show what's supported
printCaps ()
# try the icon-summary-body case
n
=
pynotify.Notification (
"Cole Raby"
,
"Hey pal, what's up with the party "
"next weekend? Will you join me "
"and Anna?"
,
"notification-message-im"
)
n.show ()