Actualiza tu navegador para garantizar que tienes la mejor experiencia y seguridad posibles. Actualizar ahora
import org.slf4j.Logger ... static Logger log = LoggerFactory.getLogger("MyLogger");
static { AsyncAppenderBuilder.wrapAsyncAppender(log, "MyAppndrName") }
import grails.util.Environment if(Environment.current!=Environment.PRODUCTION){ // log4j configuration log4j = { ... } }
import grails.util.Environment if(Environment.current==Environment.PRODUCTION){ log4jConfigurer(org.springframework.beans.factory.config.MethodInvokingFactoryBean) { targetClass = "org.springframework.util.Log4jConfigurer" targetMethod = "initLogging" arguments = ["classpath:resources/log4j.properties"] } }
//whatever make sense to you
grails create-plugin book-remote
...{work as usual with your domains}...
String groupId = 'com.nortia.book'
String version = '0.1'
String packaging = 'binary'
grails maven install --binary
dependencies {
//Since it is binary plugin is goes here instead of in the 'plugins' section
compile 'com.nortia.book:book-remote:0.1'
}
repositories {griffonHome()mavenLocal()mavenCentral()mavenRepo "http://snapshots.repository.codehaus.org"mavenRepo "http://repository.codehaus.org"mavenRepo "http://download.java.net/maven/2/"mavenRepo "http://repository.jboss.com/maven2/"mavenRepo "http://repo.spring.io/milestone"mavenRepo "http://repo.spring.io/release"}dependencies {runtime "org.grails:grails-datastore-gorm-hibernate4:3.0.0.RELEASE"runtime "org.grails:grails-spring:2.3.6"runtime "com.h2database:h2:1.3.164"compile "org.springframework:spring-expression:3.2.4.RELEASE"}
//TODO Should be a Spring beannew HibernateDatastoreSpringInitializer("bookgorm").configureForDataSource(new DriverManagerDataSource(Driver.name,"jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE", 'sa', ''))
package bookgormimport grails.persistence.Entity
@Entityclass Book{String titleString authorstatic constraints = {title blank:falseauthor blank:false}}
void loadData(){List books=Book.list()edt{model.books.addAll(books)}}def addBook= {evt=null->Book b=new Book(title:view.titleField.text,author:view.authorField.text)b.save()edt{model.books.add(b)view.titleField.text=""view.authorField.text=""}}def clearAll= {evt=null->Book.executeUpdate("delete Book")edt{model.books.clear()}}
tablaPadre (id, tablaHija_id) tablaHija(id,tablaPadre_id)
UPDATE tablaHija th SET tablaPadre_id = ( SELECT t.id FROM tablaPadre tp WHERE tp.tablaHija_id = th.id) WHERE EXISTS ( SELECT 1 FROM tablaPadre tp WHERE tp.tablaHija_id = th.id);
sed -i.bak 's/datamart_desa/datamart/' fich.sql
tasklist
Como se puede matar un proceso a partir de su id?
Taskkill /PID 756 /F
De nada! :D.
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer
update-java-alternativesSi por el contrario tienes/quieres descargar las jvms a mano, basta con descomprimirlas en la ruta /usr/lib/jvm y a partir de ahi la historia es la misma tanto si vienes del repo como si has hecho la descarga manualmente.
sudo update-java-alternatives -l
java-1.6.0-openjdk-i386 1061 /usr/lib/jvm/java-1.6.0-openjdk-i386 java-7-oracle 1062 /usr/lib/jvm/java-7-oracle jdk1.6.0_45 1062 /usr/lib/jvm/jdk1.6.0_45Y cambiar tanto java, javac, como toda su utileria a la opción deseada haciendo:
sudo update-java-alternatives -s jdk1.6.0_45Normalmente con esto es suficiente y puedes comprobarlo haciendo:
java -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) Server VM (build 20.45-b01, mixed mode)
update-alternatives: error: alternative /usr/lib/jvm/jdk1.6.0_45/jre/bin/java for java not registered, not setting.En este caso no tienes más opción que registrar las alternativas manualmente (lo mejor es hacer un pequeño script incluyendo todos los errores iguales):
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.6.0_45/jre/bin/java" 1 --forceTienes que tener en cuenta que el funcionamiento de las "alternatives" se basa en crear enlaces simbólicos (accesos directos) siguiendo el siguiente patrón:
/usr/bin/java -> /etc/alternatives/java -> /usr/lib/jvm/jdk1.6.0_45/jre/bin/java
JAVA_HOME="/usr/lib/jvm/jdk1.6.0_45"Para que este cambio surga efecto debes hacer logout como mínimo.
cd /usr/share
sudo chown -R root:root griffon-1.2.0
ln -sfn griffon-1.2.0 griffon
/usr/bin/griffon -> /usr/share/griffon/bin/griffon /usr/bin/griffon-debug -> /usr/share/griffon/bin/griffon-debug /usr/bin/griffonsh -> /usr/share/griffon/bin/griffonsh
griffon -version ------------------------------------------------------------ Griffon 1.2.0 ------------------------------------------------------------
which griffon -->/usr/bin/griffon
output+=item output.add(item)
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = ["classpath:/beans/misBeans1.xml","classpath:/beans/misBeans2.xml"]) @TransactionConfiguration(transactionManager="transactionManager", defaultRollback=false) class SpringConnectionsTest{ static final Logger log=Logger.getLogger(SpringConnectionsTest.class) @Autowired ApplicationContext context;
@Before void setTup(){ .... }
@Test void testSomething(){ ... }
log4j.logger.org.springframework.transaction=DEBUGCómo podemos ver cuándo se pilla una conexion nueva o se reutiliza una?
log4j.logger.org.springframework.jdbc.datasource.DataSourceUtils=DEBUGMi método no lo engancha, ¿qué pasa?
TOMCAT_HOME\bin
def mvc=buildMVCGroup([arg1:value1,arg2:..],"pintador")
PintadorController(){ ... }
class PintadorModel{ def arg1 ... void setArg1(def cosa){ this.arg1=cosa }
void mvcGroupInit(Map args) { ... }
//File: PintadorModel.groovy class PintadorModel{ def arg1 def objetos void mvcGroupInit(Map args){ objetos=server.getObjetos(arg1) } } ...
//File: PintadorView.groovy ... vbox(){ model.objetos.each{ label $it } }
mvcGroups { 'pintador' { model = 'com.mycompany.PintadorModel'
controller = 'com.mycompany.PintadorController'
view = 'com.mycompany.PintadorView' } .... }
el orden de invocación de los artefactos sería ese para cada una de las tres etapas.